按主题积累 · 按脉络阅读
从异构编译器的完整链路出发,把语言、IR、优化、代码生成与算子执行连接起来。零散记录逐步整理为有前置知识、有实验、有参考资料的专题。
理解计算与智能
编译器与工具链
语言语义、LLVM IR、MLIR、优化与代码生成,以及编译、链接、运行时和调试之间的协作。
体系结构与计算模型
并行执行、数据流、存储层次和成本分析;通过公开案例理解异构与可重构计算中的映射问题。
模型与算子
连接训练、推理、张量计算与系统执行,关注算子表达、融合、布局、精度与性能之间的取舍。
计算机科学基础
算法、类型与程序语义、操作系统和计算模型,为源码分析与工程判断建立基础。
编译器学习与实践
下面是逐步展开的主题顺序。每个单元将关联原理说明、源码阅读、最小实验和延伸资料;成熟内容再整理成系列。
程序如何执行
编译与链接、主机与设备、并行执行模型,先建立端到端的全貌。
语言与 CUDA 语义
Clang、语法与语义分析、主机/设备代码划分、诊断与语言行为差异。
LLVM IR 与多层 IR
SSA、类型、控制流、内存与副作用;理解不同抽象层需要保留什么信息。
MLIR 与计算降层
Dialect、合法化、Pass、张量与循环变换、布局与数据流。通过公开案例理解调度、存储约束和代价模型;MLIR 提供表达与变换基础,具体映射仍需设计与验证。
从 IR 到目标代码
指令选择、调度、寄存器分配、ABI 与目标描述,结合代码和测量分析取舍。
运行时与工具链协作
编译、链接、加载、内存与同步,以及设备端诊断、调试和分析工具。
把计算接入系统
CUDA C++ 与 Triton 算子、PyTorch 编译链路,以及 vLLM、SGLang 中的后端接口与算子执行。
正确性、性能与演进
最小复现、回归、差分测试、数值误差与基准方法,持续记录兼容范围和版本变化。
兼容与适配,分层看问题
以 CUDA 及相关算子编译为主线,按实际依赖逐步展开。下面列的是研究与验证范围,具体支持状态需要用版本、测试用例和测量结果说明。
语言与编译输入
CUDA C++ 语法与语义、主机/设备代码、构建参数和工具链行为;Triton 程序有独立的编译链路,需要分别分析。
运行时、库与通信
内存、流、事件、同步和图执行;按算子依赖核对数学库、设备库与集合通信接口,例如 cuBLAS、cuDNN 和 NCCL。
算子与编译栈
PyTorch 算子分发、自定义算子、torch.compile 与 Inductor;关注 GEMM、Attention、归一化、量化、KV Cache 和 MoE 中的表达与编译问题。
框架与端到端行为
vLLM、SGLang 的平台接口、算子后端、执行图与通信依赖。区分可编译、可运行、结果正确和性能达标,记录模型、形状、精度及版本范围。
ONNX / ONNX Runtime、StableHLO / OpenXLA、IREE、TVM、SYCL 与 HIP 作为按需研究的相邻路线,结合具体问题比较,逐项形成资料与实验。
理解思想
哲学
从问题与概念出发,理解思想传统和看待世界的方法。
逻辑与批判性思维
检查前提、推理与证据,区分事实、解释和判断。
理解世界
科学技术史
理解科学发现与技术演进如何发生,以及它们所处的历史背景。
数学与物理
从直觉、模型与推导出发,建立解释自然与计算的工具。
把事情做成
问题定义、方案取舍、测试验证、调试与复盘,让理解进入可执行的实践。每个长期单元保留适用版本、复核日期、原始资料和勘误;代码、图表与讲义随主题组织。
原始资料与阅读记录
主题目录持续完善,具体文章与实验将逐步补齐。