AI芯片软件栈七层架构详解

📚 共计 30 章节
01
AI芯片软件栈全景
定义、重要性、七层架构总览(应用层、框架层、编译层、运行时层、驱动层、固件层、硬件抽象层)
总览七层
02
应用层(上)
AI应用场景分类(视觉、语音、NLP)、模型推理与训练的区别、应用层对下层的需求
场景推理/训练
03
应用层(下)
主流AI框架(PyTorch、TensorFlow、ONNX)的算子差异、如何编写框架无关的模型代码
框架差异可移植
04
框架层(上)
PyTorch与TensorFlow的计算图构建机制、动态图vs静态图的优缺点
计算图动态/静态
05
框架层(下)
ONNX作为中间表示的桥梁作用、模型导出与格式转换的常见坑
ONNX转换
06
编译层(上)
AI编译器核心概念(IR、Pass、优化轮次)、TVM与MLIR的架构对比
IRTVM/MLIR
07
编译层(中)
图优化技术(算子融合、常量折叠、死代码消除)、我在项目中遇到的融合失败案例
图优化实战
08
编译层(下)
张量表达式与自动调优、Ansor与AutoTVM的调度搜索策略
自动调优Ansor
09
运行时层(上)
运行时核心职责(内存管理、设备调度、上下文切换)、内存池的设计模式
内存池调度
10
运行时层(中)
异步执行与同步点、Stream与Event机制、如何避免GPU死锁
异步Stream
11
运行时层(下)
多卡通信(NCCL、RCCL)的集成、通信与计算重叠的工程实践
多卡NCCL
12
驱动层(上)
芯片驱动的基本架构(用户态驱动vs内核态驱动)、IOCTL接口设计
驱动架构IOCTL
13
驱动层(中)
命令提交与硬件同步、Ring Buffer与Doorbell机制的原理
Ring BufferDoorbell
14
驱动层(下)
中断处理与错误恢复、我曾经调试过的一个驱动Bug(DMA地址对齐问题)
中断DMA
15
固件层(上)
固件在芯片中的角色、微控制器与主处理器之间的通信协议
固件角色通信协议
16
固件层(中)
任务调度与优先级管理、实时操作系统(RTOS)在固件中的应用
RTOS调度
17
固件层(下)
电源管理与温控策略、固件升级的安全机制
电源安全升级
18
硬件抽象层(HAL)
HAL的设计原则、如何屏蔽不同芯片的寄存器差异、统一API接口
HAL统一API
19
跨层协同(上)
从模型到硬件的完整数据流、各层之间的接口契约
数据流契约
20
跨层协同(中)
性能剖析与瓶颈定位、Profiling工具链的设计思路
Profiling瓶颈
21
跨层协同(下)
端到端延迟优化案例、我参与的一个语音模型部署优化项目
优化案例语音
22
软件栈的调试与测试
单元测试、集成测试、压力测试的策略、模拟器与FPGA验证
测试FPGA
23
软件栈的安全性
模型加密、通信加密、侧信道攻击防御、安全启动链
加密安全启动
24
软件栈的可移植性
跨平台编译、条件编译、抽象层设计、我在移植到RISC-V平台时的经验
可移植RISC-V
25
性能优化(上)
算子优化(内存布局、向量化、循环展开)、手写Kernel vs 编译器生成
算子手写Kernel
26
性能优化(下)
内存带宽优化、计算与访存比、Roofline模型的实际应用
Roofline带宽
27
软件栈的版本管理
语义化版本、API兼容性策略、ABI稳定性、Changelog规范
版本ABI
28
持续集成与部署
CI/CD流水线设计、自动化测试矩阵、回归测试
CI/CD回归
29
未来趋势(上)
AI芯片软件栈的新挑战(大模型、稀疏计算、存算一体)
大模型存算一体
30
未来趋势(下)
软件定义硬件、编译器与架构协同设计、开放生态(OpenXLA、Triton)
协同设计开放生态