Install on Linux ARM64
Kwker runs on 64-bit ARM Linux: AWS Graviton, Ampere Altra, NVIDIA Grace and other Neoverse servers. In 0.1.0 this platform is experimental: every package builds and passes its tests here, and speed is measured but not promised.
Python
pip install kwker
python -m kwker doctor # prints the engine in use
The wheel is manylinux_2_34_aarch64 (glibc 2.34 or newer). Kwker picks SVE or SVE2 where the CPU has it (Graviton3
and 4, Neoverse V1, V2 and N2, Grace) and NEON elsewhere.
For the PyTorch extensions, the KwkCNN / KwkEncoder / KwkDecoder runners and the ONNX Runtime provider, install the
wheel built for your torch release, for example kwker==0.1.0+torch2.14. Their results match PyTorch within each
precision's tolerance; on ARM64 they are not tuned for speed yet.
C and C++
Use the kwker-c-0.1.0-linux-aarch64.tar.gz archive or the arm64 .deb / aarch64 .rpm packages. They hold the
same files as on x86-64: see Installation.
Rust
[dependencies]
kwker = "0.1"
The build compiles the NEON and SVE engines with your C++ compiler (GCC or Clang).
Known issues
- The ONNX Runtime provider leaves ModernBERT and NomicBERT models to ONNX Runtime; other encoders run on Kwker.
- The Polars plugin (
kwker-polars) builds and passes its tests on Linux ARM64 (amanylinux_2_34_aarch64wheel); like the other ARM64 packages it is experimental.
Related
- Installation: every platform and package.
- Runtime controls: see and choose the engine.