《30 天手搓 ARM 架构零依赖纯 C 推理引擎》课程介绍与大纲

一门"把开源代码当教材"的连载课:每天 3 篇,30 天带你读通、改懂、跑熟一个真正在 RK3588 上 2 秒冷启动的纯 C11 推理引擎------Kestrel(vllm_kestrel) 。全部代码已开放:https://gitee.com/pei-xiaoguang/kestrel-llm

1. 这门课是什么,不是什么

是:一份可以"对着源码逐行验证"的工程教材。每个知识点后面都跟着仓库里真实存在的代码、可复现的"改动后果"实验、以及给你留的调试任务。

不是:又一篇"三小时从零写大模型"的标题党。推理引擎是个系统工程,我们把它拆成 30 天可消化的台阶,答案都在开源仓库里,你跟着读、改、跑。

课程主线用的引擎 vllm_kestrel 有这些"先验"特征(也都是后面 90 篇文章会逐一拆解的问题):

  • 28 个 C 文件、单可执行文件,Release 产物约 0.8 MB(板端实测 818,872 B);
  • RK3588(aarch64)板端冷启动约 2 秒(spawn→HTTP ready 实测 2.01 s);
  • 零第三方运行时依赖:NEON 量化 GEMM、线程池、HTTP、国密 SM3/SM4/SM2 全部自研;
  • 跑 Qwen3-VL 2B/8B 纯文本与图片/视频多模态,OpenAI 兼容 API。

2. 30 天课题一览

天 主题 你会学到 / 会读到的代码
D1 开场与工具链 为什么要手搓;原生 vs 交叉编译(build_rk3588.sh、CMakeLists.txt);确定性自检门
D2 C11 工程与整型纪律 _Static_assert 布局守卫(vqf_format.h);平台层与设备画像(vllm_platform.h、vllm_device.c)
D3 内存与文件 I/O mmap 直挂为什么快(vqf.c vqf_load);字节序;自研 util
D4 线程池 vllm_tp 为什么换掉 OpenMP;parfor 实现;核绑定(A76/A55 大小核)
D5 量化地基 带宽瓶颈;Q8 对称量化标定;参考实现对拍
D6 NEON 手写 GEMM ARMv8.2 dotprod(vdotq_s32);8x8 布局重排;llama 4x4 asm 提取件
D7 Q4 与混合精度 GGUF Q4_0 对齐;flags=0x3 混合路由;预热与测量
D8 注意力与 KV 入门 Q·K/softmax/V;在线 softmax;KV 缓存布局
D9 q8 KV 与单查询 KV 量化;flash_attn_single_q_q8_neon 单遍扫描
D10 稀疏注意力 O(n²) vs O(n·k);sparse top-k 块选择;诚实边界
D11 前缀复用 多轮对话防重复 prefill;缓存键;TTFT 3.3× 复现
D12 磁盘 KV(L3) 跨进程恢复;快照格式;13.1× 复现
D13 推测解码 草稿+验证;回退与收益边界
D14 批处理与调度 连续批处理;单 SSE 流串行队列
D15 main.c 与生命周期 参数分发;prefill/decode 分路;gdb 单步一次生成
D16 VQF 格式 I:布局 432B 头/200B 签名/64B 张量目录;xxd 对照真实文件
D17 VQF 格式 II:转换 safetensors/GGUF → VQF;位级一致实验
D18 分词器与 mrope BPE;vocab.bin 工具;3D 位置编码
D19 多模态视觉塔 ViT 编码;vision_tokens 协议;视频帧
D20 自研 HTTP socket/select;路由与最小 JSON;SSE 流式
D21 OpenAI 兼容层 /v1/chat/completions 映射;对话模板;内嵌 HTML 生成器
D22 管理面与守护 chat.html 消费 SSE;/admin API;vllm_mgr.py 看门狗
D23 国密 SM3 标准 KAT 红线;压缩轮实现;篡改实验
D24 SM4 与 VQF-Enc CTR 流加密;HMAC-SM3 原子认证;单遍 COW 解密
D25 公钥 SM2 GM/T 0003 与 ZA/ID;签名工具链;随机源纪律
D26 供应链签名接入 信任根闭环;签名覆盖分析;亲手"掉包"被拒
D27 可验证推理 schema=2 帧规范;端到端出证取证
D28 性能方法论 基准设计;日志插桩;复现三表
D29 发布与工程化 双许可;ARM 通用 vs RK3588;ASan 复现
D30 结营与引流 文章矩阵;贡献指南;FHE 研究内核预告

下一篇: Day 1·1 RK3588上2秒启动:818KB纯C推理引擎是怎么炼成的

相关推荐
apcipot_rain21 分钟前
C++转Java日记(06)
java·开发语言
锋行天下4 小时前
langgraph 后端发自定义数据,前端接收方法概括
人工智能·python
金銀銅鐵5 小时前
带您看懂字节码指令(一):一帧里有什么
java·后端·ai编程
泯泷5 小时前
单个 AI 再强,为什么也干不过一支 AI 团队?
人工智能·llm·agent
ZhengEnCi5 小时前
每个文件夹都放一份 README 并让 AI 先读:把「AI 乱翻代码」变成「按目录索引定点取件」
ai编程
浪遏5 小时前
认识 wm:从多平台发布到可扩展 CLI 的架构设计
人工智能
深蓝AI6 小时前
英伟达换帅当天,我先跑了一遍 GPU 环境体检:版本矩阵比人事更值得盯
人工智能·gpu
罗西的思考7 小时前
【轻量化复刻大模型 / KIMI K3】AttnRes 模块交互式演示
人工智能·算法·机器学习
SomeOtherTime7 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood7 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose