#[non_exhaustive]pub enum BackendKind {
Cuda,
Rocm,
Metal,
QualcommNpu,
Cpu,
Vulkan,
OpenGl,
Dx12,
WebGpu,
Tpu,
LevelZero,
Neuron,
}Expand description
The set of accelerator families IronAccelerator can target.
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.
Cuda
NVIDIA CUDA (Toolkit 13.2+ targeted).
Rocm
AMD ROCm / HIP.
Metal
Apple Metal (Performance Shaders + MLX kernels).
QualcommNpu
Qualcomm AI Engine — Hexagon NPU via QNN SDK.
Cpu
CPU SIMD reference path (used as a fallback / oracle).
Vulkan
Vulkan Compute — cross-vendor GPU compute.
OpenGl
OpenGL 4.3+ compute shaders — legacy / embedded GPU fallback.
Dx12
Direct3D 12 — the Windows-native GPU API, across all vendors.
WebGpu
WebGPU in the browser — the WASM compute path.
Tpu
Google TPU (v4 / v5 / v6e) via the PJRT plugin interface.
LevelZero
Intel GPU + NPU via oneAPI Level Zero (ze_loader).
Neuron
AWS Trainium / Inferentia via the Neuron Runtime (libnrt).
Implementations§
Source§impl BackendKind
impl BackendKind
Trait Implementations§
Source§impl Clone for BackendKind
impl Clone for BackendKind
Source§fn clone(&self) -> BackendKind
fn clone(&self) -> BackendKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BackendKind
Source§impl Debug for BackendKind
impl Debug for BackendKind
Source§impl<'de> Deserialize<'de> for BackendKind
impl<'de> Deserialize<'de> for BackendKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for BackendKind
Source§impl Hash for BackendKind
impl Hash for BackendKind
Source§impl PartialEq for BackendKind
impl PartialEq for BackendKind
Source§impl Serialize for BackendKind
impl Serialize for BackendKind
impl StructuralPartialEq for BackendKind
Auto Trait Implementations§
impl Freeze for BackendKind
impl RefUnwindSafe for BackendKind
impl Send for BackendKind
impl Sync for BackendKind
impl Unpin for BackendKind
impl UnsafeUnpin for BackendKind
impl UnwindSafe for BackendKind
Blanket Implementations§
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