Cargo Features
fastkmeans-rs has no features set by default.
[dependencies]
fastkmeans-rs = { version = "1.0.6", features = ["npy", "openblas", "mkl", "accelerate", "cuda", "metal_gpu"] }
- npy = ndarray-npy
-
Required by compare-kmeans and compare-kmeans-cuda binaries
- openblas = blas-src, openblas-src
-
BLAS acceleration features
Use system OpenBLAS (requires libopenblas-dev on Linux, brew install openblas on macOS)Enables blas of ndarray ^0.16
- mkl = blas-src, intel-mkl-src
-
Use Intel MKL (recommended for Intel/AMD CPUs on Linux)
Enables blas of ndarray ^0.16
- accelerate = accelerate-src, blas-src
-
Use Apple Accelerate framework (macOS only, recommended for macOS)
Enables blas of ndarray ^0.16
- cuda = cudarc
-
CUDA GPU acceleration
Requires CUDA toolkit installed (nvcc in PATH)Affects
fastkmeans-rs::cuda…Required by the compare-kmeans-cuda binary
- metal_gpu
-
Metal GPU acceleration (macOS only, Apple Silicon recommended)
Uses Metal compute shaders for GPU-accelerated k-meansEnables metal ^0.31 and objc
metal:
Metal GPU dependencies (macOS only, optional)
Affects
fastkmeans-rs::metal_gpu…
Features from optional dependencies
In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- ndarray-npy npy?
-
Enables ndarray-npy ^0.9
- blas-src accelerate? mkl? openblas?
-
Enables blas-src ^0.10
BLAS backends (optional)
- openblas-src openblas?
- intel-mkl-src mkl?
- accelerate-src accelerate?
- cudarc cuda?
-
Enables cudarc
CUDA dependencies (optional)