《AI編譯器開發指南》是2022年機械工業出版社出版的圖書。
基本介紹
- 中文名:AI編譯器開發指南
- 出版時間:2022年12月
- 出版社:機械工業出版社
- ISBN:9787111716747
內容簡介,圖書目錄,
內容簡介
《AI編譯器開發指南》結合專用AI加速器和GPGPU兩類晶片架構,系統介紹了AI編譯器的基本框架和開發流程,著重論述了在AI編譯器開發過程中,針對這兩類架構需要重點考慮的實現方法。全書共分為7章,內容涵蓋了以TVM為代表的開源AI編譯器實現分析和定製化方法,以及GPGPU編譯器後端相關設計方法。在介紹AI編譯器一般原理的同時,書中通過對開源編譯器項目的原始碼分析,使讀者能通過實例對AI編譯器開發過程有更直觀的認識。
《AI編譯器開發指南》填補了AI編譯器開發類書籍的空白,可作為從事AI軟硬體設計、開發人員的參考用書,也可作為普通高等院校智慧型科學與技術、計算機科學與技術等專業的本科生和研究生的教輔書籍。
圖書目錄
前言
第1章 AI編譯器基礎
1.1AI編譯器概述
1.1.1AI晶片及其分類
1.1.2AI編譯器的結構與特徵
1.2常用AI編譯器介紹
1.2.1TVM整體架構
1.2.2TensorFlow XLA整體架構
1.2.3Glow整體架構
1.3LLVM編譯器基礎
1.3.1LLVM前端工作流程
1.3.2LLVM IR格式和語法
1.3.3LLVM後端工作流程
1.4GPGPU編譯器基礎
1.4.1GPGPU編譯器工作流程
1.4.2Clang對CUDA的處理
1.4.3GPGPU編譯器的IR最佳化
第2章 開源AI編譯器實現分析
2.1TVM的系統設計
2.1.1TVM的圖級最佳化
2.1.2TVM的計算與調度
2.1.3TVM的自動調優框架
2.2TensorFlow XLA的系統設計
2.2.1XLA的聚類過程
2.2.2XLA的IR設計和編譯過程
2.2.3開啟XLA的方式
2.2.4XLA JIT的圖最佳化過程
2.2.5XLA JIT的代碼生成
2.3Glow的系統設計
2.3.1Glow的高階IR
2.3.2Glow的低階IR
2.3.3Glow的量化方法
2.3.4Glow的後端設計
2.4AI編譯器特性總結
2.4.1AI編譯器的多階IR設計
2.4.2AI編譯器的前端最佳化
2.4.3AI編譯器的後端最佳化
第3章 定製化AI編譯器設計與實現
3.1定製化AI編譯器設計框架
3.2TVM的高階中間表示
3.2.1TVM高階中間表示的表達
3.2.2TVM高階中間表示的數據表示實現
3.2.3TVM高階中間表示的運算元實現
3.3TVM的低階中間表示
3.3.1TVM低階中間表示的表達
3.3.2TVM代碼生成的定製化開發
3.3.3TVM運行時的定製化開發
3.4TVM的前後端最佳化
3.4.1TVM pass的功能與實現
3.4.2TVM的前端最佳化
3.4.3TVM的後端最佳化
第4章 GPGPU編譯器後端設計
4.1LLVM後端開發流程
4.1.1異構計算程式工作流程
4.1.2LLVM後端執行流程
4.1.3LLVM中的pass及其管理機制
4.2指令選擇
4.2.1指令選擇原理與實現方式
4.2.2基於SelectionDAG的指令選擇
4.2.3快速指令選擇
4.2.4全局指令選擇
4.3指令調度
4.3.1指令調度原理
4.3.2LLVM中的指令調度器及其工作過程
4.3.3調度pass的定製
4.4暫存器分配
4.4.1暫存器分配原理
4.4.2LLVM暫存器分配
4.4.3貪厭暫存器分配實現過程分析
第5章 張量核的編程方法與編譯器支持
5.1沃爾塔、圖靈和安培架構特性
5.1.1沃爾塔架構特性
5.1.2圖靈架構特性
5.1.3安培架構特性
5.2張量核編程方法
5.2.1WMMA API及其用法
5.2.2CUTLASS中的張量核編程
5.3編譯器後端對張量核的支持
5.3.1wmma PTX指令及其用法
5.3.2mma和ldmatrix PTX指令及其用法
5.3.3WMMA intrinsic函式定義
5.3.4NVPTX後端對wmma PTX指令的支持
第6章 AI模型性能分析與編譯器最佳化方法
6.1AI模型性能的衡量指標和影響因素
6.1.1計算訪存比
6.1.2算術強度和操作位元組比
6.1.3記憶體級並行性和執行緒束並行性
6.2SM占用率及其編程接口
6.2.1理論占用率和實際占用率
6.2.2理論占用率約束條件分析
6.2.3CUDA運行時占用率編程接口
6.3基於占用率的指令調度最佳化
6.3.1AMD GPU編程模型和硬體執行模型
6.3.2AMDGPU後端的指令調度算法最佳化
第7章 AI晶片軟硬體系統接口設計
7.1GPGPU軟硬體接口設計
7.1.1GPGPU主機端編程接口
7.1.2核心分派過程
7.1.3GPGPU硬體分派過程
7.2AI加速器軟硬體接口設計
7.2.1AI加速器硬體架構
7.2.2AI加速器設備軟體棧
7.3量化技術與實現
7.3.1量化技術原理
7.3.2運算元量化和激活函式量化
7.3.3激活函式量化方法
參考文獻