通用圖形處理器設計 — GPGPU 編程模型與架構原理

景乃鋒、柯晶、梁曉嶢

  • 通用圖形處理器設計 — GPGPU 編程模型與架構原理-preview-1
  • 通用圖形處理器設計 — GPGPU 編程模型與架構原理-preview-2
  • 通用圖形處理器設計 — GPGPU 編程模型與架構原理-preview-3
通用圖形處理器設計 — GPGPU 編程模型與架構原理-preview-1

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

商品描述

本書是一本通用GPU芯片為基礎實現芯片設計的專業書籍。介紹了GPU的基礎理論,GPGPU的軟硬件架構,相關工具以及優化技術。以通用GPGPU芯片為基礎平臺進行展開,重點深入了芯片的架構設計原理,架構設計理念和程序優化技術,同時以結合AI應用展現性能優勢和特有價值。通過本書,使讀者能系統瞭解體系結構理論,促進GPGPU芯片架構設計的興趣與學習,不斷瞭解GPGPU芯片技術的新發展,新技術。本書是國內首部關於GPGPU芯片架構設計系統性介紹的教材,兼顧理論基礎及實現應用,廣採而精取,層層揭開GPGPU芯片原理。本書可作為高等院校、科研機構等相關單位從事理論教學或者電腦學科進行科學研究的科學家、工程師的參考書籍,也可作為高年級本科生和研究生的學習參考書籍。

目錄大綱

 

目錄

 

 

 

第1章GPGPU概述

 

1.1GPGPU與並行電腦

 

1.1.1並行體系結構

 

1.1.2GPU與CPU體系結構對比

 

1.2GPGPU發展概述

 

1.2.1GPU

 

1.2.2從GPU到GPGPU

 

1.3現代GPGPU產品

 

1.3.1NVIDIA GPGPU

 

1.3.2AMD GPGPU

 

1.3.3Intel GPGPU

 

1.3.4其他GPU

 

參考文獻

 

第2章GPGPU編程模型

 

2.1計算模型

 

2.1.1數據並行和線程

 

2.1.2主機設備端和內核函數

 

2.2線程模型

 

2.2.1線程組織與數據索引

 

2.2.2線程分配與執行

 

2.2.3線程模型小結

 

2.3存儲模型

 

2.3.1多樣的存儲器類型

 

2.3.2存儲資源與線程並行度

 

2.4線程同步與通信模型

 

2.4.1同步機制

 

2.4.2協作組

 

2.4.3流與事件

 

2.4.4原子操作

 

2.5CUDA指令集概述

 

2.5.1中間指令PTX 

 

2.5.2機器指令SASS 

 

參考文獻

 

 

 

 

 

第3章GPGPU控制核心架構

 

3.1GPGPU架構概述

 

3.1.1CPUGPGPU異構計算系統

 

3.1.2GPGPU架構

 

3.1.3擴展討論: 架構特點和局限性

 

3.2GPGPU指令流水線

 

3.2.1前段: 取指與解碼

 

3.2.2中段: 調度與發射

 

3.2.3後段: 執行與寫回

 

3.2.4擴展討論: 線程束指令流水線

 

3.3線程分支

 

3.3.1謂詞寄存器

 

3.3.2SIMT堆棧

 

3.3.3分支屏障

 

3.3.4擴展討論: 更高效的線程分支執行

 

3.4線程束調度

 

3.4.1線程束並行、調度與發射

 

3.4.2基本的調度策略

 

3.4.3擴展討論: 線程束調度策略優化

 

3.5記分牌

 

3.5.1數據相關性

 

3.5.2GPGPU中的記分牌

 

3.5.3擴展討論: 記分牌設計優化

 

3.6線程塊分配與調度

 

3.6.1線程塊並行、分配與調度

 

3.6.2基本的線程塊分配與調度策略

 

3.6.3擴展討論: 線程塊分配與調度策略優化

 

參考文獻

 

第4章GPGPU存儲架構

 

4.1GPGPU存儲系統概述

 

4.1.1CPU的層次化存儲

 

4.1.2GPGPU的存儲層次

 

4.2寄存器文件

 

4.2.1並行多板塊結構

 

4.2.2板塊沖突和操作數收集器

 

4.2.3操作數並行訪問時的相關性冒險

 

4.2.4擴展討論: 寄存器文件的優化設計

 

4.3可編程多處理器內的存儲系統

 

4.3.1數據通路概述

 

4.3.2共享存儲器訪問

 

4.3.3L1高速緩存訪問

 

4.3.4紋理緩存

 

4.3.5擴展討論: 片上存儲系統的優化設計

 

4.4可編程多處理器外的存儲系統

 

4.4.1存儲分區單元

 

4.4.2L2緩存

 

4.4.3幀緩存單元

 

4.4.4全局存儲器

 

4.5存儲架構的優化設計

 

4.5.1片上存儲資源融合

 

4.5.2技術對比與小結

 

參考文獻

 

第5章GPGPU運算單元架構

 

5.1數值的表示

 

5.1.1整型數據

 

5.1.2浮點數據

 

5.1.3擴展討論: 多樣的浮點數據表示

 

5.2GPGPU的運算單元

 

5.2.1整型運算單元

 

5.2.2浮點運算單元

 

5.2.3特殊功能單元

 

5.2.4張量核心單元

 

5.3GPGPU的運算單元架構

 

5.3.1運算單元的組織和峰值算力

 

5.3.2實際的指令吞吐率

 

5.3.3擴展討論: 脈動陣列結構

 

參考文獻

 

第6章GPGPU張量核心架構

 

6.1深度神經網絡的計算

 

6.1.1深度神經網絡的計算特徵

 

6.1.2捲積運算方式

 

6.2張量核心架構

 

6.2.1張量核心架構特徵概述

 

6.2.2Volta架構中的張量核心

 

6.2.3張量核心的發展

 

6.2.4擴展討論: 張量核心對稀疏的支持

 

6.3神經網絡計算的軟件支持

 

6.4深度學習評價基準——MLPerf

 

參考文獻

 

第7章總結與展望

 

7.1本書內容總結

 

7.2GPGPU發展展望