《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推理引擎是怎么炼成的

相关推荐
彧azz1 小时前
B树原理与C语言实现
c语言·数据结构·b树
国科安芯1 小时前
基于ECC加固的抗辐射MCU在卫星载荷数据管理中的应用分析
单片机·嵌入式硬件·mcu·抗辐射·ecc加固·卫星数据管理
qq_452396231 小时前
第三篇:《变量、类型与函数:Rust 的“基本盘”》
开发语言·后端·rust
5335ld1 小时前
app版本更新(vue3+unibest+静默更新+强制更新)
开发语言·javascript·ecmascript
sarasuki1 小时前
别只会给 LLM 包一层 while 循环:一个 Agent 的 7 个设计取舍
人工智能·架构
蓝速科技1 小时前
酒店门店 AI 数字人前台场景适配与落地指南
大数据·运维·数据结构·数据库·人工智能·科技
羞儿1 小时前
【读点论文】From Coarse to Fine-Grained Open-Set Recognition
人工智能·深度学习·计算机视觉·细粒度·开集识别
深圳市恒锐丰科技杨生1 小时前
EG3033 三相 P‑N MOS 栅极驱动芯片|屹晶 EGmicro
嵌入式硬件·硬件工程
武子康1 小时前
小智发出 abort 后,旧声音为什么还可能继续?
人工智能·llm·agent