ferrox-inference
Facade crate for Ferrox, a pure-Rust GGUF / MoE inference engine: mmap loaders, quantized CPU + Apple Metal + CUDA kernels, and an OpenAI-compatible server.
It contains no logic. It re-exports the workspace under one name, so a
dependent writes one line instead of six, and so the project is
findable on crates.io, since the name ferrox belongs to an unrelated
crate.
[]
= "0.10"
use ShardedGguf;
let file = open?;
The binaries are elsewhere
They are not shipped from this crate on purpose: two crates installing
a binary called ferrox would fight over the same path in
~/.cargo/bin.
Features
| Feature | Effect |
|---|---|
metal |
Apple Metal kernels. Apple Silicon only. |
cuda |
CUDA/NVRTC kernels. Needs a CUDA toolkit at build time. |
api |
Re-export ferrox-api (route constants + wire DTOs). |
Neither GPU feature is on by default. metal does not build off Apple
Silicon, and cuda needs a toolkit most machines do not have.
The bar CUDA is held to is "must compile". There is no pinned benchmark
host for it and no published timings, so treat a Windows or Linux
install as CPU-only in practice. See
docs/FEATURES.md.
The rest of the workspace
| Crate | What it is |
|---|---|
ferrox-gguf |
GGUF mmap reader, sharded checkpoints |
ferrox-quant |
Block layouts, fused dequant+dot |
ferrox-safetensors |
SafeTensors mmap reader |
ferrox-core |
Tensor ops, RoPE, GQA, KV cache |
ferrox-moe |
Expert routing and dispatch |
ferrox-models |
Loaders and decoder stacks |
ferrox-api |
Route constants + wire DTOs |
ferrox-metal |
Apple Metal kernels |
ferrox-cuda |
CUDA/NVRTC kernels |
Speed claims live in
benchmarks/RESULTS.md,
measured against llama.cpp on the same host and the same GGUF. That
table is generated from the raw timing files each run writes, and it
says so wherever nothing has been measured.
Apache-2.0.