#[non_exhaustive]pub enum NaxReason {
Override,
Os,
Generation,
NoLibrary,
Unmeasured,
PipelineError,
NoDevice,
}Expand description
Why the Neural Accelerator (NAX) kernels are not used (NaxStatus::Off).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Override
NUVEC_NAX=off.
Os
The OS is older than macOS 26.2 (Metal 4 TensorOps).
Generation
The GPU is not an M5-class one (MLX’s rule: generation 17 or later, 18 for the p
class), or its generation is unknown.
NoLibrary
This build has no NAX kernel library (an SDK older than 26.2 or no Metal).
Unmeasured
An eligible GPU, but nuvec’s NAX kernels have no recorded M5 measurement, so auto
keeps them off. NUVEC_NAX=on forces them.
PipelineError
A NAX pipeline failed to build; the existing kernels are used from then on.
NoDevice
There is no Metal device.
Trait Implementations§
impl Copy for NaxReason
impl Eq for NaxReason
impl StructuralPartialEq for NaxReason
Auto Trait Implementations§
impl Freeze for NaxReason
impl RefUnwindSafe for NaxReason
impl Send for NaxReason
impl Sync for NaxReason
impl Unpin for NaxReason
impl UnsafeUnpin for NaxReason
impl UnwindSafe for NaxReason
Blanket Implementations§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more