conviction · 01从零写起,就是目的。
自研 autograd、调度器、radix 前缀缓存、paged KV、CUDA graphs、MLX bridge。论文里见过的概念,在这里是一个个小 Rust 文件 —— 读一个 crate,吃透一个概念。
现代推理栈的全部 —— continuous batching、radix 前缀缓存、paged KV、CUDA graphs、投机解码 —— 一个人用 Rust 手写,小到一个周末就能读完。
$ arle --doctor cuda ok # nvidia-smi · cuda 12.x · ampere+ metal beta # apple m-series detected cpu ok # dev-only smoke path model ok # Qwen3-4B reachable api ok # /v1/chat/completions · streaming $ arle serve --backend cuda --model Qwen3-4B listening on http://0.0.0.0:8000 · ready in 1.4s
不是 wrapper,不是 binding,不是 fork。大引擎藏在 pip install 背后的每一层,在这里都是几百行可以单步调试的 Rust —— 还有每个决定为什么长这样的完整记录。
自研 autograd、调度器、radix 前缀缓存、paged KV、CUDA graphs、MLX bridge。论文里见过的概念,在这里是一个个小 Rust 文件 —— 读一个 crate,吃透一个概念。
死路留在仓库里,标着 KILL 和杀死它的测量数据。你继承的是测量过程,不只是结论 —— 几个月的 A/B 实验,免费可读。
每个基准都是 docs/experience/wins/ 里带日期的快照,环境、参数、回归俱全。没有精选。「快」要么是带日期的数字,要么什么都不是。
serving 时没有 Python,没有 sidecar 进程,没有配置蔓延。arle 是 workspace 唯一构建的二进制 —— 从 clone 到第一个 token 只要几分钟,GPU 机器或 MacBook 都行。
2026-06-04 cutover 之后,单体 infer crate 已经不在了。运行时是一张设备无关的 crate 图 —— 依赖严格向下流动,infer-core 不依赖任何后端,后端在前门接入。权威拓扑见 docs/codebase-map.md。
src/main.rs InferenceEngine · LoadedInferenceEngine · backends plug in here Engine<E,K> · scheduler · radix prefix BackendExecutor + KvPool seam · ForwardPlan IR — host-only 每个平台一行能跑的命令。预编译 tarball 与 SHA 见每次 GitHub Release;curl 安装脚本会先校验 SHA256 再解压。
$ brew install cklxx/tap/arle $ arle --doctor
$ curl -fsSL https://github.com/cklxx/arle/releases/latest/download/install.sh \ | sh $ arle --doctor
$ docker run --rm --gpus all -p 8000:8000 \
-v /path/to/Qwen3-4B:/model:ro \
ghcr.io/cklxx/arle:latest \
serve --backend cuda --model-path /model $ git clone https://github.com/cklxx/arle && cd arle $ cargo build --release --features cuda --bin arle # cli 默认开启; cpu: --no-default-features --features cpu,no-cuda
直接来自 docs/experience/wins/ 的带日期快照。数字出自 scripts/bench_guidellm.sh 与标准 step-driver 冒烟,未做挑选。
cuda · 8×H20 TP=8 / EP=8 · DeepSeek-V4-Flash FP8 · B=1,官方 FlashMLA / DSA / DeepGEMM + MTP · 256K 可启动、needle 230K 精确命中
scripts/dsv4_lever_gate.sh 完整快照 ↗ cuda · RTX 4070 Ti SUPER 16GB · Qwen3-0.6B 真实 checkpoint OPD step · 32 commit 单 session、kill-or-license 闸门
cargo run -p train --example opd_step_cuda_realckpt_train --release --features cuda -- --lr 1e-7 --steps 5000 完整快照 ↗ metal · Apple M4 Pro 48GB · Qwen3.6-35B-A3B 4-bit MLX · HTTP serve、流式 /v1/completions
arle serve --backend metal --model-path mlx-community/Qwen3.6-35B-A3B-4bit --port 8010 完整快照 ↗ cuda · NVIDIA L4 · Qwen3-4B · BF16 + FP8 分页 KV(auto)· c=16
scripts/bench_guidellm.sh cuda-l4-hbm-tier-fp8-auto 完整快照 ↗ metal · Apple M4 Pro · Qwen3.5-0.8B Q4_K_M · GGUF decode
arle serve --backend metal --model-path Qwen3.5-0.8B-Q4_K_M.gguf 完整快照 ↗ 三种后端,一份运行时契约。权威矩阵见 docs/support-matrix.md。
| 后端 | 稳定度 | 系统 / 硬件 | 模型 | 量化 | API |
|---|---|---|---|---|---|
cuda | stable | Linux + NVIDIA Ampere+ | Qwen3 / Qwen3.5 · DeepSeek-V4-Flash(8×H20) | FP16 / BF16 · FP8 KV(auto)· GGUF Q4_K | OpenAI v1 |
metal | beta | Apple Silicon(M1+) | Qwen3.5 · Qwen3.6 MoE(canonical) | FP16 / BF16 · MLX 4-bit · GGUF Q4_K | OpenAI v1 |
cpu | dev only | 便携冒烟 | Qwen3 / Qwen3.5(小尺寸) | FP16 / BF16 | OpenAI v1 |
没有排队,没有委员会 —— 一个周末的 PR 就能改动头条数字,战场全部公开:串行 phase 计划在 ROADMAP.md,每条战线一个跟踪 issue。从 CONTRIBUTING.md 开始,不要先钻维护者计划树。
Star 是个人项目唯一的指标。如果这个仓库帮你省下了啃别人 CUDA 的时间 —— 或者只是证明了这件事 Rust 写得出来 —— 留一颗。它决定这件事能得到多少时间。
★ Star cklxx/arle仓库一览。每条都指回 cklxx/arle 的标准路径。