Skip to content

Part 1: 构建与加载

从 Makefile 编译系统到 mmap 零拷贝模型加载,理解项目如何从源码变为可执行文件、81GB 模型如何"不加载"地装进内存。

涵盖内容

章节核心主题
1. 项目全貌与编译系统Makefile、条件编译、项目架构、opaque type
2. 内存管理与 mmapmmap 零拷贝、xmalloc、scratch buffer、page fault
3. GGUF 二进制格式GGUF 文件结构、cursor 解析、struct 对齐、量化块

核心概念

  • gguf — 模型文件格式
  • mmap — 零拷贝文件映射
  • xmalloc — 失败即退出的内存分配策略
  • page-fault — mmap 懒加载的核心机制

前置知识

  • C 语言基础(指针、结构体、宏)
  • 基本的编译概念(.c → .o → 可执行文件)

学习路径

读完本主题后,你将理解:

  1. ds4 项目如何编译、有哪些构建目标
  2. 为什么推理引擎在初始化阶段完成所有内存分配
  3. 模型文件的二进制结构和解析方式

→ 下一步:Part 2: 分词与采样