深度學習編譯器設計

高偉、韓林、李嘉楠

  • 出版商: 清華大學
  • 出版日期: 2024-11-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • ISBN: 7302675511
  • ISBN-13: 9787302675518
  • 相關分類: DeepLearningCompiler
  • 下單後立即進貨 (約4週~6週)

  • 深度學習編譯器設計-preview-1
  • 深度學習編譯器設計-preview-2
  • 深度學習編譯器設計-preview-3
深度學習編譯器設計-preview-1

相關主題

商品描述

"隨著大模型的發展與應用,深度學習編譯器的內涵和外延逐步擴展。與傳統編譯器相比,深度學習編譯器增加了特定於人工智能模型實現的設計與優化。本書共12章。第1章從深度學習的起源、發展與爆發出發,引出深度學習模型的基礎概念、深度學習應用的開發流程和深度學習框架。第2章介紹深度學習運算特徵、深度學習硬件平臺和深度學習編譯技術,通過分析典型深度學習編譯器的架構,給出深度學習編譯器的一般架構。第3章介紹面向深度學習應用開發的編程模型和編程接口。第4章從計算圖的構成、分類、轉換和分析4個角度,介紹深度學習編譯器前端的工作流程。第5章從中間表示的概念、分類和設計3個角度,分析深度學習編譯器中間表示的設計方法和重要作用。第6~12章介紹深度學習編譯優化,包括自動微分、計算圖優化、內存分配與優化、算子選擇與生成、代碼生成與優化、自動並行及模型推理等。 本書可作為電腦科學與技術專業、軟件工程專業的教學參考書,也可供人工智能大模型性能優化人員參考。"

目錄大綱

目錄

第1章深度學習簡介

1.1深度學習的起源、發展與爆發

1.1.1深度學習的起源

1.1.2深度學習的發展

1.1.3深度學習的爆發

1.2深度學習模型的基礎概念

1.2.1深度學習模型的組成

1.2.2深度學習模型的運行

1.2.3深度學習模型的分類

1.3深度學習應用的開發流程

1.3.1通用開發流程

1.3.2特定領域典型應用的開發流程

1.4深度學習框架

1.4.1發展歷程

1.4.2典型框架

1.4.3核心組件

第2章深度學習編譯簡介

2.1深度學習運算特徵

2.1.1深度學習中的矩陣運算

2.1.2大規模矩陣運算面臨的挑戰

2.2深度學習硬件平臺

2.2.1深度學習硬件技術架構

2.2.2深度學習硬件應用挑戰

2.3深度學習編譯技術

2.3.1典型深度學習編譯器

2.3.2深度學習編譯器的結構

第3章編程模型與編程接口

3.1編程模型

3.1.1任務劃分

3.1.2數據分佈

3.1.3通信和同步

3.1.4任務映射

3.1.5兼容性及發展趨勢

3.2編程接口

3.2.1基於C/C++的接口

3.2.2基於Python的接口

3.2.3Python調用C/C++的綁定技術

第4章前端

4.1計算圖構成

4.1.1數據節點

4.1.2計算節點

4.1.3控制節點

4.1.4依賴邊

4.2計算圖分類

4.2.1靜態計算圖

4.2.2動態計算圖

4.3計算圖轉換

4.3.1動靜結合技術

4.3.2動靜統一技術

4.4計算圖分析

4.4.1類型系統

4.4.2類型推導

4.4.3類型轉換

4.4.4形狀推導

第5章中間表示

5.1中間表示的概念

5.2中間表示的分類

5.2.1線性中間表示

5.2.2圖中間表示

5.2.3混合中間表示

5.3中間表示的設計

5.3.1單層中間表示設計

5.3.2兩層中間表示設計

5.3.3多層中間表示設計

第6章自動微分

6.1自動微分的概念

6.2自動微分的模式

6.2.1前向模式

6.2.2反向模式

6.3自動微分的實現

6.3.1基本表達式法

6.3.2操作符重載法

6.3.3源碼轉換法

第7章計算圖優化

7.1算子融合

7.1.1融合規則

7.1.2融合策略

7.1.3內存融合

7.1.4並行融合

7.1.5動態融合

7.2混合精度改寫

7.3數據佈局轉換

7.4其他圖優化方法

7.4.1常量折疊

7.4.2公共子表達式消除

7.4.3代數化簡

第8章內存分配與優化

8.1內存分配

8.2內存復用

8.2.1原地置換

8.2.2內存共享

8.3張量遷移

8.3.1遷移機制

8.3.2遷移優化

8.4重計算

8.4.1靜態圖重計算

8.4.2動態圖重計算

8.4.3快速註意力機制

第9章算子選擇與生成

9.1算子選擇

9.2算子生成

9.2.1基於機器學習的算子生成

9.2.2基於多面體變換的算子生成

第10章代碼生成與優化

10.1過程間優化

10.2循環優化

10.2.1循環展開

10.2.2循環合並

10.2.3循環分佈

10.2.4循環剝離

10.2.5循環分段

10.2.6循環分塊

10.2.7循環交換

10.3語句級優化

10.3.1冗餘語句刪除

10.3.2公共子表達式消除

10.4指令級優化

10.4.1指令流水

10.4.2超標量

10.4.3超長指令字

10.5自動並行化

10.5.1自動向量化

10.5.2自動張量化

10.5.3自動OpenMP並行化

10.6訪存優化

10.6.1寄存器優化

10.6.2內存優化

第11章自動並行

11.1並行劃分

11.1.1數據並行劃分

11.1.2模型並行劃分

11.1.3序列並行劃分

11.1.4混合並行劃分

11.2並行策略

11.2.1搜索空間

11.2.2代價模型

11.2.3搜索算法

11.3通信優化

11.3.1通信優化基礎

11.3.2通信優化策略

第12章模型推理

12.1模型部署

12.1.1部署工具

12.1.2部署方式

12.2模型壓縮

12.2.1量化

12.2.2剪枝

12.2.3知識蒸餾

12.3推理加速

12.3.1圖優化

12.3.2算法優化

12.3.3運行時優化

參考文獻