AI 編譯器開發指南

汪岩

  • 出版商: 機械工業
  • 出版日期: 2022-12-01
  • 定價: $714
  • 售價: 7.9$564 (限時優惠至 2024-04-28)
  • 語言: 簡體中文
  • 頁數: 307
  • 裝訂: 平裝
  • ISBN: 7111716744
  • ISBN-13: 9787111716747
  • 相關分類: Compiler
  • 立即出貨

買這商品的人也買了...

商品描述

《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激活函數量化方法
參考文獻