trait ComputeBackend: Send + Sync
Trait for compute backends
Source: backends.joule:25
trait ComputeBackend: Send + SyncTrait for compute backends
Source: backends.joule:25
fn name(&self) -> &str;Backend name
Source: backends.joule:27
fn engine(&self) -> Engine;Associated engine type
Source: backends.joule:30
fn is_available(&self) -> bool;Check if backend is available on this system
Source: backends.joule:33
fn supported_dtypes(&self) -> Vec<ComputeDType>;Supported data types
Source: backends.joule:36
fn gemm_f32(Execute GEMM: C = alpha * A @ B + beta * C
Source: backends.joule:39
fn gemm_f16(Execute GEMM with half precision
Source: backends.joule:57
fn sync(&self);Synchronize (wait for completion)
Source: backends.joule:75
struct AccelerateBackendApple Accelerate framework backend for CPU Uses vecLib/BLAS for linear algebra, vDSP for signal processing, BNNS (Basic Neural Network Subroutines) for neural network ops
Source: backends.joule:85
fn new() -> SelfCreate new Accelerate backend
Source: backends.joule:91
fn instance() -> &'static SelfGet singleton instance
Source: backends.joule:103
fn name(&self) -> &strSource: backends.joule:110
fn engine(&self) -> EngineSource: backends.joule:114
fn is_available(&self) -> boolSource: backends.joule:118
fn supported_dtypes(&self) -> Vec<ComputeDType>Source: backends.joule:122
fn gemm_f32(Source: backends.joule:134
fn gemm_f32(Source: backends.joule:212
fn gemm_f16(Source: backends.joule:231
fn sync(&self)Source: backends.joule:286
fn default() -> SelfSource: backends.joule:292
struct MetalBackendMetal Performance Shaders backend for GPU Uses MPS for optimized neural network and linear algebra operations
Source: backends.joule:303
fn new() -> SelfCreate new Metal backend
Source: backends.joule:311
fn instance() -> &'static SelfGet singleton instance
Source: backends.joule:327
fn device_name(&self) -> StringSource: backends.joule:334
fn device_name(&self) -> StringSource: backends.joule:340
fn name(&self) -> &strSource: backends.joule:346
fn engine(&self) -> EngineSource: backends.joule:350
fn is_available(&self) -> boolSource: backends.joule:354
fn supported_dtypes(&self) -> Vec<ComputeDType>Source: backends.joule:358
fn gemm_f32(Source: backends.joule:370
fn gemm_f32(Source: backends.joule:412
fn gemm_f16(Source: backends.joule:432
fn gemm_f16(Source: backends.joule:501
fn sync(&self)Source: backends.joule:520
fn default() -> SelfSource: backends.joule:526
struct CoreMLBackendCore ML backend for Neural Engine Uses Core ML for neural network inference on the ANE
Source: backends.joule:537
fn new() -> SelfCreate new Core ML backend
Source: backends.joule:543
fn instance() -> &'static SelfGet singleton instance
Source: backends.joule:558
fn compile_mlprogram(&self, _spec: &MLProgramSpec) -> Result<CompiledModel, CoreMLError>Source: backends.joule:565
fn compile_mlprogram(&self, _spec: &MLProgramSpec) -> Result<CompiledModel, CoreMLError>Source: backends.joule:578
fn predict(&self, _model: &CompiledModel, _inputs: &[*const u8]) -> Result<Vec<*mut u8>, CoreMLError>Source: backends.joule:584
fn predict(&self, _model: &CompiledModel, _inputs: &[*const u8]) -> Result<Vec<*mut u8>, CoreMLError>Source: backends.joule:594
fn name(&self) -> &strSource: backends.joule:600
fn engine(&self) -> EngineSource: backends.joule:604
fn is_available(&self) -> boolSource: backends.joule:608
fn supported_dtypes(&self) -> Vec<ComputeDType>Source: backends.joule:612
fn gemm_f32(Source: backends.joule:621
fn gemm_f16(Source: backends.joule:642
fn sync(&self)Source: backends.joule:662
fn default() -> SelfSource: backends.joule:668
struct MLProgramSpecSource: backends.joule:679
struct TensorSpecSource: backends.joule:692
enum MLOpSource: backends.joule:700
enum ComputeUnitsSource: backends.joule:777
struct CompiledModelSource: backends.joule:790
enum CoreMLErrorSource: backends.joule:797
struct BackendRegistryGlobal backend registry
Source: backends.joule:809
fn new() -> SelfCreate new registry with all backends
Source: backends.joule:817
fn instance() -> &'static SelfGet singleton instance
Source: backends.joule:826
fn get(&self, engine: Engine) -> &dyn ComputeBackendGet backend for engine type
Source: backends.joule:832
fn accelerate(&self) -> &AccelerateBackendGet Accelerate backend
Source: backends.joule:842
fn metal(&self) -> &MetalBackendGet Metal backend
Source: backends.joule:847
fn coreml(&self) -> &CoreMLBackendGet Core ML backend
Source: backends.joule:852
fn available_backends(&self) -> Vec<Engine>List available backends
Source: backends.joule:857
fn print_info(&self)Print backend information
Source: backends.joule:872
fn default() -> SelfSource: backends.joule:895
fn gemm_auto(Execute GEMM on best available backend
Source: backends.joule:905
fn build_transformer_layer_mlprogram(Build MLProgram for transformer layer
Source: backends.joule:950
fn f16_to_f32(h: u16) -> f32Convert an IEEE 754 half-precision float (stored as u16) to f32.
Source: backends.joule:1104
fn f32_to_f16(f: f32) -> u16Convert an f32 to IEEE 754 half-precision float (stored as u16).
Source: backends.joule:1137
fn test_backend_availability()Source: backends.joule:1182
fn test_mlprogram_builder()Source: backends.joule:1194