摩爾線程GPU架構與編程實踐

摩爾線程

  • 出版商: 人民郵電
  • 出版日期: 2026-06-01
  • 售價: $420
  • 語言: 簡體中文
  • ISBN: 7115697809
  • ISBN-13: 9787115697806
  • 相關分類: CUDA
  • 下單後立即進貨 (約4週~6週)

商品描述

本書面向計算技術開發人員、科研工作者和高性能計算學習者,旨在全面解析摩爾線程公司自主研發的MUSA;本書從並行計算原理出發,深入剖析MUSA的架構設計、編程模型、軟件生態及實踐應用。

全書共10章,內容由淺入深,體系完整。第1章以並行計算的歷史與現狀切入,闡述GPU 並行計算原理,並介紹MUSA GPU的設計理念與生態系統等。第2~4章系統解析MUSA硬件架構、編程模型及軟件架構,涵蓋前端調度系統、MUSA計算體系、存儲體系、張量核心架構、驅動與運行時庫、編譯器工具鏈及計算加速庫等內容。第5~7章聚焦開發實踐,詳細介紹開發環境搭建、MUSA編程基礎、MUSA程序調試等內容。第8~9章深入性能優化與性能分析工具的使用,結合豐富案例展示性能優化方法。第10章介紹基於MUSA的應用實戰,涵蓋PyTorch編程、CIFAR-10圖像分類、大模型訓練實戰及HPC應用。

本書兼具理論深度與實踐指導性,既可作為深入理解國產GPU架構原理的參考書,也可作為基於MUSA進行高性能計算與AI應用開發的實用手冊,以及高校相關專業的教材。

目錄大綱

第 1 章 GPU 原理與生態...... 1

1.1 並行計算的歷史與現狀...... 1

1.1.1 摩爾定律的失效...... 1

1.1.2 並行計算的興起...... 2

1.1.3 典型並行計算場景...... 3

1.1.4 核心並行算法模式...... 3

1.2 GPU 並行計算原理...... 4

1.2.1 計算機體系結構分類...... 4

1.2.2 GPU 和 CPU 的對比...... 8

1.2.3 GPU 與 CPU 的異構計算模型...... 9

1.2.4 體系結構中各類架構的編程模型演進......10

1.2.5 GPU 在計算系統中的位置......11

1.2.6 從應用到 GPU:一次任務的旅程......13

1.3 MUSA GPU 及其生態簡介...... 14

1.3.1 MUSA GPU 設計概述......15

1.3.2 MUSA 生態系統......17

1.4 MUSA 並行計算應用...... 18

小結...... 19

練習題...... 20

第 2 章 MUSA 硬件架構...... 21

2.1 前端調度系統...... 21

2.1.1 Command Queue 與前端調度單元......21

2.1.2 Kernel 依賴處理與同步機制......23

2.2 MUSA 計算體系...... 24

2.2.1 MUSA 處理器系統架構......24

2.2.2 運算單元......27

2.3 線程組織與調度...... 31

2.3.1 線程束調度器......31

2.3.2 指令調度器......32

2.3.3 線程塊到 MP 的映射關系......35

2.3.4 資源限制與優化......36

2.4 MUSA 存儲體系...... 38

2.4.1 存儲層次......39

2.4.2 內存訪問模式優化......44

2.4.3 常量內存與紋理內存的典型用途......47

2.5 張量核心架構...... 48

2.5.1 TME......48

2.5.2 TCE(Tensor Compute Engine) ......52

2.5.3 ASYNC......52

小結...... 53

練習題...... 53

第 3 章 MUSA 編程模型...... 54

3.1 內核函數...... 54

3.1.1 內核函數的定義......54

3.1.2 內核函數的特性......54

3.2 設備、上下文與任務流...... 55

3.2.1 MUSA 設備(Device) ......55

3.2.2 上下文(Context) ......56

3.2.3 MUSA 任務流(Stream)......57

3.2.4 上下文、設備、流三者關系總結......57

3.3 內存管理...... 58

3.4 任務與同步...... 59

3.4.1 任務類型......59

3.4.2 同步機制......60

3.5 MUSA 編程示例:矩陣乘法...... 61

小結...... 63

練習題...... 63

第 4 章 MUSA 軟件架構...... 64

4.1 軟件架構概覽...... 64

4.2 驅動與運行時庫...... 64

4.2.1 MUSA 驅動與運行時庫簡介......64

4.2.2 驅動和運行時庫之間的互操作......65

4.3 編譯器工具鏈...... 65

4.3.1 mcc 編譯流程:從.mu 文件到可執行文件......66

4.3.2 編譯控制選項......67

4.3.3 MTX 編譯器......68

4.4 計算加速庫...... 69

4.4.1 muBLAS ......70

4.4.2 muRAND ......72

4.4.3 muFFT ......74

4.4.4 muSPARSE ......77

4.4.5 muSOLVER ......84

4.5 AI 與通信庫...... 87

4.5.1 muDNN 加速庫......87

4.5.2 MCCL......91

4.6 性能分析工具...... 98

小結...... 98

練習題...... 98

第 5 章 MUSA 開發環境搭建及快速入門......100

5.1 系統基礎配置......100

5.2 驅動安裝......101

5.3 MUSA Toolkit 安裝......102

5.4 在 MUSA 上輸出 “Hello Musa”......104

5.5 muDNN 加速庫安裝......105

5.6 MCCL 安裝......105

5.7 常見問題排查......107

小結......109

第 6 章 MUSA 編程基礎......110

6.1 設備管理......110

6.1.1 MUSA-runtime API ......110

6.1.2 MUSA 環境變量......111

6.1.3 mthreads-gmi 工具......112

6.2 模塊管理......113

6.2.1 模塊的加載與卸載......113

6.2.2 延遲加載......115

6.3 虛擬內存管理......117

6.3.1 核心 API 函數......117

6.3.2 核心 API 函數的使用方法......117

6.3.3 虛擬內存管理的高級特性......119

6.3.4 虛擬內存管理的應用場景......119

6.4 紋理內存......119

6.4.1 紋理內存簡介......119

6.4.2 紋理對象的實操流程......120

6.4.3 核函數中的紋理訪問......122

6.4.4 紋理參數......123

6.4.5 圖像旋轉完整示例......124

6.4.6 常見問題、限制說明與解決方案......124

6.4.7 其他類型的紋理......125

6.5 異步執行模型...... 126

6.5.1 流管理......126

6.5.2 事件管理......129

6.6 同步機制...... 132

6.6.1 MUSA 中的線程級同步管理......132

6.6.2 MUSA 中的任務級同步管理......133

6.6.3 MUSA API 的默認同步行為......134

6.7 MUSA Graph 管理...... 135

6.7.1 MUSA Graph 基本概念......135

6.7.2 MUSA Graph 主要優勢......136

6.7.3 MUSA Graph 核心 API ......136

6.7.4 MUSA Graph 構建方式......137

6.7.5 MUSA Graph 高級特性......138

6.7.6 MUSA Graph 最佳實踐......138

6.7.7 MUSA Graph 適用場景......138

6.8 MUSA 圖形互操作...... 138

6.8.1 MUSA 圖形互操作概述......139

6.8.2 OpenGL 互操作......139

小結...... 140

第 7 章 MUSA 程序調試...... 142

7.1 調試環境搭建...... 142

7.1.1 MUSA-GDB 簡介......142

7.1.2 調試環境準備......142

7.1.3 調試命令規範......143

7.2 內核調試技巧......143

7.2.1 內核線程坐標與焦點管理......143

7.2.2 斷點設置與狀態信息查詢......144

7.3 內核調試完整示例......145

小結......148

第 8 章 MUSA 性能優化與擴展......149

8.1 計算機體系結構的量化研究方法......149

8.2 計算優化......151

8.2.1 調控 Occupancy......151

8.2.2 減少線程束分歧......152

8.2.3 指令級並行......153

8.2.4 Warp Specialization ......154

8.3 內存優化......155

8.3.1 合並訪存......155

8.3.2 向量化訪存......156

8.3.3 減少線程間共享存儲器的存儲體沖突......156

8.4 MUSA 多卡編程......158

8.4.1 單機多卡......158

8.4.2 多機多卡......160

8.5 性能優化案例實踐......160

8.5.1 Reduce 優化......160

8.5.2 GEMV 優化......164

8.5.3 Flash Attention 優化......165

8.5.4 GEMM 優化......170

小結......178

第 9 章 MUSA 性能分析工具......180

9.1 Moore Perf Tools ......180

9.2 Moore Perf System...... 181

9.3 Moore Perf Compute ...... 184

小結...... 187

第 10 章 基於 MUSA 的應用實戰...... 188

10.1 PyTorch 編程...... 188

10.1.1 torch_musa 簡介......188

10.1.2 MUSAExtension 簡介......189

10.2 CIFAR-10 圖像分類...... 190

10.2.1 圖像分類知識基礎......190

10.2.2 代碼實現......191

10.3 大模型訓練實戰...... 200

10.3.1 MT-Megatron 環境搭建......201

10.3.2 使用 MT-Megatron 訓練大模型......201

10.3.3 MT-Megatron 代碼結構簡介......212

10.4 HPC 應用...... 216

10.4.1 HPC 簡介......216

10.4.2 HPC 常見基準測試......217

10.4.3 GROMACS 的 MUSA GPU 加速......218

小結...... 220

最後瀏覽商品 (1)