mistral.rs icon indicating copy to clipboard operation
mistral.rs copied to clipboard

Build --features metal falis with "pattern `DType::F8E4M3` not covered"

Open maslovw opened this issue 4 months ago • 1 comments

Minimum reproducible example

cargo build --release --features metal

Error

Compiling candle-core v0.7.2 (https://github.com/EricLBuehler/candle.git?rev=60eb251#60eb251f) error[E0004]: non-exhaustive patterns: DType::F8E4M3 not covered --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/metal_backend/mod.rs:96:15 | 96 | match self.dtype { | ^^^^^^^^^^ pattern DType::F8E4M3 not covered

Other information

macOS 14.6.1 (23G93)
Hardware Overview:

  Model Name:	MacBook Pro
  Model Identifier:	MacBookPro18,2
  Chip:	Apple M1 Max
  Total Number of Cores:	10 (8 performance and 2 efficiency)
  Memory:	64 GB
  System Firmware Version:	10151.140.19
  OS Loader Version:	10151.140.19

Latest commit or version

9a457563 2024-10-12 Eric Buehler (origin/master, origin/HEAD, master) Add ISQ FP8 (#832)

Build runs successfully on tag v0.3.1

➜  mistral.rs git:(master) cargo build --release --features metal
   Compiling candle-core v0.7.2 (https://github.com/EricLBuehler/candle.git?rev=60eb251#60eb251f)
error[E0004]: non-exhaustive patterns: `DType::F8E4M3` not covered
  --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/metal_backend/mod.rs:96:15
   |
96 |         match self.dtype {
   |               ^^^^^^^^^^ pattern `DType::F8E4M3` not covered
   |
note: `DType` defined here
  --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/dtype.rs:9:10
   |
9  | pub enum DType {
   |          ^^^^^
10 |     // Floating-point 8 bits integer (4-bit exponent, 3-bit mantissa).
11 |     F8E4M3,
   |     ------ not covered
   = note: the matched value is of type `DType`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
105~             DType::F64 => Ok(CpuStorage::F64(self.to_cpu()?)),
106~             DType::F8E4M3 => todo!(),
   |

error[E0004]: non-exhaustive patterns: `DType::F8E4M3` not covered
    --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/metal_backend/mod.rs:2127:26
     |
2127 |         let name = match dtype {
     |                          ^^^^^ pattern `DType::F8E4M3` not covered
     |
note: `DType` defined here
    --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/dtype.rs:9:10
     |
9    | pub enum DType {
     |          ^^^^^
10   |     // Floating-point 8 bits integer (4-bit exponent, 3-bit mantissa).
11   |     F8E4M3,
     |     ------ not covered
     = note: the matched value is of type `DType`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
     |
2139 ~             },
2140 +             DType::F8E4M3 => todo!()
     |

error[E0004]: non-exhaustive patterns: `CpuStorageRef::F8E4M3(_)` not covered
    --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/metal_backend/mod.rs:2163:37
     |
2163 |         let (count, buffer) = match T::cpu_storage_ref(s) {
     |                                     ^^^^^^^^^^^^^^^^^^^^^ pattern `CpuStorageRef::F8E4M3(_)` not covered
     |
note: `CpuStorageRef<'_>` defined here
    --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/cpu_backend/mod.rs:37:10
     |
37   | pub enum CpuStorageRef<'a> {
     |          ^^^^^^^^^^^^^
...
47   |     F8E4M3(&'a [F8E4M3]),
     |     ------ not covered
     = note: the matched value is of type `CpuStorageRef<'_>`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
     |
2172 ~             CpuStorageRef::F64(storage) => (storage.len(), self.new_buffer_with_data(storage)),
2173 ~             CpuStorageRef::F8E4M3(_) => todo!(),
     |

error[E0004]: non-exhaustive patterns: `&CpuStorage::F8E4M3(_)` not covered
    --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/metal_backend/mod.rs:2178:37
     |
2178 |         let (count, buffer) = match storage {
     |                                     ^^^^^^^ pattern `&CpuStorage::F8E4M3(_)` not covered
     |
note: `CpuStorage` defined here
    --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/cpu_backend/mod.rs:23:10
     |
23   | pub enum CpuStorage {
     |          ^^^^^^^^^^
...
33   |     F8E4M3(Vec<F8E4M3>),
     |     ------ not covered
     = note: the matched value is of type `&CpuStorage`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
     |
2187 ~             CpuStorage::F64(storage) => (storage.len(), self.new_buffer_with_data(storage)),
2188 ~             &CpuStorage::F8E4M3(_) => todo!(),
     |

error[E0004]: non-exhaustive patterns: `DType::F8E4M3` not covered
   --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/sort.rs:147:23
    |
147 |                 match storage.dtype() {
    |                       ^^^^^^^^^^^^^^^ pattern `DType::F8E4M3` not covered
    |
note: `DType` defined here
   --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/dtype.rs:9:10
    |
9   | pub enum DType {
    |          ^^^^^
10  |     // Floating-point 8 bits integer (4-bit exponent, 3-bit mantissa).
11  |     F8E4M3,
    |     ------ not covered
    = note: the matched value is of type `DType`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
156 ~                     DType::I16 => "asort_asc_i16",
157 ~                     DType::F8E4M3 => todo!(),
    |

error[E0004]: non-exhaustive patterns: `DType::F8E4M3` not covered
   --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/sort.rs:159:23
    |
159 |                 match storage.dtype() {
    |                       ^^^^^^^^^^^^^^^ pattern `DType::F8E4M3` not covered
    |
note: `DType` defined here
   --> /Users/viacheslav.maslov/.cargo/git/checkouts/candle-c6a149c3b35a488f/60eb251/candle-core/src/dtype.rs:9:10
    |
9   | pub enum DType {
    |          ^^^^^
10  |     // Floating-point 8 bits integer (4-bit exponent, 3-bit mantissa).
11  |     F8E4M3,
    |     ------ not covered
    = note: the matched value is of type `DType`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
168 ~                     DType::I16 => "asort_desc_i16",
169 ~                     DType::F8E4M3 => todo!(),
    |

For more information about this error, try `rustc --explain E0004`.
error: could not compile `candle-core` (lib) due to 6 previous errors

maslovw avatar Oct 12 '24 20:10 maslovw