Cargo Features
[dependencies]
scirs2-linalg = { version = "0.1.5", default-features = false, features = ["linalg", "tensor_contraction", "simd", "autograd", "parallel", "extended-test", "python", "cuda", "opencl", "cpu-fallback", "rocm", "metal", "gpu"] }
- default = linalg, simd
-
Default features - OxiBLAS (pure Rust) is used for all platforms
- linalg default
-
NOTE: OpenBLAS/Netlib/Accelerate features removed - using pure Rust OxiBLAS for all platforms
Core functionality features
Linear algebra with BLAS/LAPACK bindingsEnables scirs2-core
Core dependencies - ALL numeric/array functionality from scirs2-core (SciRS2 POLICY)
NOTE: linalg feature now uses OxiBLAS (pure Rust) instead of OpenBLAS - tensor_contraction
-
Optional tensor contraction functionality
Affects
scirs2-linalg::tensor_contraction… - simd default
-
SIMD-accelerated operations
Enables scirs2-core
Affects
simd::simd_mixed_precision_matvec_f32_f64,simd::simd_mixed_precision_matmul_f32_f64,simd::simd_mixed_precision_dot_f32_f64,elementwise::simdmatrix_add_f32,elementwise::simdmatrix_add_f64,elementwise::simdmatrix_add_inplace_f32,elementwise::simdmatrix_mul_elementwise_f32,elementwise::simdmatrix_scale_f32,gemm::GemmBlockSizes,gemm::simd_gemm_f32,gemm::simd_gemm_f64,gemm::simd_matmul_optimized_f32,gemm::simd_matmul_optimized_f64,gemm::simd_gemv_f32,gemm::simd_gemv_f64,simd_ops::simd_matvec_f32,simd_ops::simd_matvec_f64,simd_ops::simd_matmul_f32,simd_ops::simd_matmul_f64,simd_ops::simdmatrix_max_f32… - autograd
-
Automatic differentiation support
Enables scirs2-autograd
Affects
scirs2-linalg::autograd,scirs2-linalg::prelude.autograd… - parallel
-
Parallel processing support
Enables scirs2-core
Affects
f64_ops::mixed_precision_matmul_f64_parallel… - extended-test
-
For extended precision tests
- python
-
Python bindings support
Enables python of scirs2-core
- cuda
-
GPU acceleration features (experimental)
NVIDIA CUDA supportAffects
cuda::cuda_impl,backends::cuda,scirs2-linalg::gpu… - opencl
-
OpenCL support
Affects
backends::opencl,opencl::opencl_impl,scirs2-linalg::gpu… - cpu-fallback
-
CPU fallback when no GPU backend available
- rocm
-
AMD ROCm support
Affects
backends::rocm,rocm::rocm_impl,scirs2-linalg::gpu… - metal
-
Apple Metal support
Affects
metal::metal_impl,backends::metal,scirs2-linalg::gpu… - gpu
-
GPU abstraction layer - does NOT auto-enable specific backends