首页00月度趋势榜01新星榜02增速榜03HF热榜04总表05搜索06

FareedKhan-dev/kimi-k3-in-c

用可移植的 C99 在纯 CPU 上推理 Kimi K3——一个参数量 2.78 万亿、检查点体积 1.56 TB 的 MoE 大模型:无 BLAS、无框架、无 GPU,整个引擎编译为单个约 176 KB 的二进制,宣称 8 GB 内存的机器即可运行且输出与 224 GB 机器字节级一致,"多出的内存只买速度"(8 GB 下约 26.5 s/token,128 GB+ 约 5.6 s/token)。

语言
C
⭐ 总星标
6,508
📅 创建
2026-08-01
🍴 Forks
1,060
许可证
Apache-2.0
在 GitHub 打开 回到总表

配图

信息卡

项目内容
仓库FareedKhan-dev/kimi-k3-in-c
语言 / 许可证C / Apache-2.0
总星标⭐ 6508(截至 2026-08-26)
创建时间2026-08-01
榜单近30天新星榜 第3名

一句话定位

用可移植的 C99 在纯 CPU 上推理 Kimi K3——一个参数量 2.78 万亿、检查点体积 1.56 TB 的 MoE 大模型:无 BLAS、无框架、无 GPU,整个引擎编译为单个约 176 KB 的二进制,宣称 8 GB 内存的机器即可运行且输出与 224 GB 机器字节级一致,"多出的内存只买速度"(8 GB 下约 26.5 s/token,128 GB+ 约 5.6 s/token)。

走红原因分析

"万亿参数模型 + 一个 CPU + 8 GB 内存"的反差叙事极具传播力;README 以严谨的数据链条(5560 GB bf16 → 8.24 GB 峰值 RSS,压缩 675 倍而无近似)回应质疑;逐内核位级一致测试、跨平台 tokenizer 确定性等验证段落赢得了硬核社区的信任;作者延续其"用最朴素语言讲透复杂系统"的风格,工程与教学双重价值叠加。

核心功能拆解

架构与技术栈浅析

依赖只有 libm 与 OpenMP,7 个 C 文件:k3_ops.c(RMSNorm/KDA/MLA/MoE/MXFP4 matmul 内核)、k3_st.c(手写 JSON 扫描的 safetensors 读取器)、k3_load/k3_trunk/k3_cache/k3_bind/k3_run。I/O 用 O_DIRECT(实测比缓冲读更快);FNV-1a 哈希索引 96 个分片约 50 万个张量只需四分之一秒;配置读取"拒绝默认值",任何必需字段缺失即中止启动。

安装与环境要求

Linux x86-64 参考实现(macOS/arm64 与 Windows MSYS2 MinGW-w64 也通过),需 AVX2+FMA、8 GB 内存起步、约 1.7 TB 磁盘、GCC≥9 或 Clang≥10:

git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git
cd kimi-k3-in-c && make -j && make test
./scripts/k3-doctor.sh
export HF_TOKEN=hf_your_token_here
./scripts/download-model.sh ~/k3model
./scripts/pack-trunk.sh ~/k3model ~/k3trunk   # 生成约 109 GB trunk.bin

快速上手示例

./bin/k3 ~/k3model --trunk ~/k3trunk --preset workstation \
  --tok ~/k3model --prompt "The capital of France is" --gen 8 --incremental

进阶使用要点

典型应用场景

同类生态位对比

对比 llama.cpp:后者生态成熟支持海量模型但依赖栈大得多,本项目以单二进制+零依赖聚焦 K3 一款模型做到位级可复现;对比官方 GPU 服务路径,它彻底放弃吞吐换可达性,是研究价值大于实用性能的硬核极客项目。

资源导航

仓库 README(数字链条与基准硬件说明)、scripts/k3-doctor.sh、tools/sim_cache.py(离线缓存轨迹回放)、tools/devbw.py(磁盘带宽基准)、docs/data/ 测量数据。

← 上一篇yc-software/qm下一篇 →genspark-ai/genoffice