Appearance
Part 1: 构建与加载
从 Makefile 编译系统到 mmap 零拷贝模型加载,理解项目如何从源码变为可执行文件、81GB 模型如何"不加载"地装进内存。
涵盖内容
| 章节 | 核心主题 |
|---|---|
| 1. 项目全貌与编译系统 | Makefile、条件编译、项目架构、opaque type |
| 2. 内存管理与 mmap | mmap 零拷贝、xmalloc、scratch buffer、page fault |
| 3. GGUF 二进制格式 | GGUF 文件结构、cursor 解析、struct 对齐、量化块 |
核心概念
- gguf — 模型文件格式
- mmap — 零拷贝文件映射
- xmalloc — 失败即退出的内存分配策略
- page-fault — mmap 懒加载的核心机制
前置知识
- C 语言基础(指针、结构体、宏)
- 基本的编译概念(.c → .o → 可执行文件)
学习路径
读完本主题后,你将理解:
- ds4 项目如何编译、有哪些构建目标
- 为什么推理引擎在初始化阶段完成所有内存分配
- 模型文件的二进制结构和解析方式
→ 下一步:Part 2: 分词与采样