幫助中心 | 我的帳號 | 關於我們

AMD GPU編程(基於ROCm\HIP的架構工具鏈和開發流程)/信息科學與工程技術叢書

  • 作者:編者:過敏意//孫世軒//陳鑫宇//孫軼凡|責編:崔彤
  • 出版社:清華大學
  • ISBN:9787302724995
  • 出版日期:2026/08/01
  • 裝幀:平裝
  • 頁數:242
人民幣:RMB 79 元      售價:元
放入購物車
加入收藏夾

內容大鋼
    本書系統介紹基於HIP的GPU加速計算方法,面向AMD ROCm平台,全面講解從基礎編程到高性能優化、從單GPU到多GPU、從通用並行計算到機器學習與大模型應用的完整技術體系。全書共分為14章,從並行計算與GPU架構基礎出發,介紹ROCm軟體棧與HIP編程模型,幫助讀者建立對主機—設備協同執行的整體認識;隨後深入講解HIP內核編程、運行時API、內存管理、流與事件等關鍵機制,並通過向量加法、矩陣運算、圖演算法等示例展示典型GPU編程模式。中後部分重點介紹AMD GPU的內部結構、性能優化方法、ROCm數學與通信庫(如rocBLAS、rocFFT、RCCL),以及多GPU編程與跨節點協同計算。最後,結合機器學習框架與大模型算例,給出HIP在實際工程與前沿應用中的綜合實踐。
    本書配套完整示例代碼、實驗環境說明與工具使用指南,涵蓋調試、性能分析與CUDA向HIP遷移等內容。其突出特點在於強調可移植性與工程實用性,將底層原理、編程介面與真實應用緊密結合。本書適合從事GPU計算、高性能計算與人工智慧系統開發的工程技術人員,以及相關專業的高年級本科生和研究生閱讀與參考。

作者介紹
編者:過敏意//孫世軒//陳鑫宇//孫軼凡|責編:崔彤

目錄
第1章  介紹
  1.1  並行編程
  1.2  GPU
  1.3  ROCm
  1.4  HIP框架
  1.5  本書內容
第2章  開始使用HIP編程
  2.1  在HIP中實現「Hello World」
  2.2  使用HIP進行數據處理——Vector Add示例
    2.2.1  並行執行的機會
    2.2.2  組織線程
    2.2.3  使用HIP API進行數據傳輸
    2.2.4  錯誤和正確性檢查
    2.2.5  綜合示例
  2.3  總結
第3章  HIP內核編程
  3.1  在 HIP內核中調用函數
    3.1.1  HIP中的__global__函數
    3.1.2  HIP中的__device__函數
    3.1.3  HIP中的__host__函數
    3.1.4  結合__host__和__device__函數
  3.2  在HIP內核中使用模板
  3.3  在HIP中使用結構體
  3.4  總結
第4章  HIP運行時API
  4.1  HIP內存管理
    4.1.1  固定內存
    4.1.2  統一內存
  4.2  HIP流
    4.2.1  流的基礎知識
    4.2.2  基於流的關鍵API
    4.2.3  默認流與非默認流
    4.2.4  併發內核
    4.2.5  重疊計算與通信
  4.3  HIP事件
    4.3.1  創建HIP事件
    4.3.2  記錄HIP事件
    4.3.3  使用HIP事件計算耗時
    4.3.4  使用HIP事件協調操作
    4.3.5  使用HIP事件釋放內存
    4.3.6  創建具有特定標誌的事件
    4.3.7  確保兩種處理單元之間的一致性
    4.3.8  使用HIP事件的向量加法
  4.4  總結
第5章  GPU編程模式
  5.1  二維內核
  5.2  模板計算
  5.3  多內核示例——廣度優先搜索
  5.4  CPU-GPU協同計算——KMeans
  5.5  原子操作——直方圖

  5.6  總結
第6章  AMD GPU內部原理
  6.1  AMD GPU
  6.2  整體架構
  6.3  命令處理器和DMA引擎
  6.4  工作組分發
  6.5  指令調度器
  6.6  SIMD單元
  6.7  線程分歧
  6.8  內存合併
  6.9  內存層次結構
  6.10  AMD RDNA GPUs
  6.11  總結
第7章  HIP工具
  7.1  ROCmInfo
  7.2  ROCm SMI
  7.3  ROCm調試器
  7.4  ROCm分析器
    7.4.1  ROCTracer
    7.4.2  ROCProfiler
  7.5  ROCm Profiler V
    7.5.1  應用程序追蹤
    7.5.2  內核分析
    7.5.3  ROCSys
  7.6  使用Hipify將CUDA程序移植到HIP
    7.6.1  Hipify工具
    7.6.2  一般Hipify指南
    7.6.3  矩陣轉置的Hipify
    7.6.4  常見問題及解決方案
  7.7  總結
第8章  HIP性能優化
  8.1  高度並行的工作負載——圖像伽馬校正
  8.2  固定大小的內核——圖像伽馬校正
  8.3  歸約——數組求和
  8.4  分塊與復用——矩陣乘法
  8.5  分塊與合併——矩陣轉置
  8.6  總結
第9章  ROCm庫
  9.1  rocBLAS
    9.1.1  使用rocBLAS
    9.1.2  rocBLAS函數
    9.1.3  非同步執行
    9.1.4  MI100上的rocBLAS
    9.1.5  從傳統BLAS庫遷移
  9.2  rocSPARSE
    9.2.1  稀疏數據表示
    9.2.2  rocSPARSE函數
  9.3  rocFFT
    9.3.1  rocFFT工作流程
    9.3.2  FFT執行計劃

  9.4  rocRAND
  9.5  總結
第10章  多GPU編程
  10.1  HIP設備API
  10.2  基於流的多GPU編程
  10.3  基於線程的多GPU編程
  10.4  基於MPI的多GPU編程
  10.5  GPU—GPU通信
  10.6  RCCL
    10.6.1  廣播
    10.6.2  AllReduce
  10.7  總結
第11章  使用ROCm進行機器學習
  11.1  ROCm上的PyTorch
    11.1.1  安裝PyTorch
    11.1.2  測試PyTorch安裝
    11.1.3  使用Inception v3模型進行圖像分類
  11.2  ROCm上的TensorFlow
    11.2.1  安裝TensorFlow
    11.2.2  測試TensorFlow安裝
    11.2.3  使用TensorFlow進行訓練
  11.3  總結
第12章  數據中心中的ROCm
  12.1  容器化的ROCm
  12.2  使用Kubernetes管理ROCm容器
  12.3  使用SLURM管理ROCm節點
    12.3.1  SLURM交互模式
    12.3.2  SLURM批處理提交模式
  12.4  總結
第13章  第三方工具
  13.1  PAPI
    13.1.1  PAPI工具和測試
    13.1.2  PAPI對AMD GPU的支持
    13.1.3  預設事件與計數器分析工具包
  13.2  Score-P和Vampir
    13.2.1  使用Score-P進行跟蹤
    13.2.2  Score-P的使用
    13.2.3  對Quicksilver應用程序的性能分析
  13.3  Trace Compass和Theia
  13.4  TAU
    13.4.1  使用TAU分析HIP程序性能
    13.4.2  使用TAU跟蹤HIP程序
    13.4.3  使用APEX測量HIP程序
    13.4.4  TAU總結
    13.5  TotalView調試器
    13.6  HPCToolkit
    13.6.1  HPCToolkit的工作流程
    13.6.2  使用HPCToolkit分析PIConGPU
    13.6.3  收集和分析性能數據和跟蹤文件
    13.6.4  使用硬體計數器進行測量

  13.7  使用Linaro Forge進行調試和性能分析
    13.7.1  Linaro DDT
    13.7.2  Linaro MAP
    13.7.3  Linaro性能報告
    13.7.4  使用Linaro DDT進行GPU調試
    13.7.5  使用Linaro MAP分析GPU性能
    13.7.6  GPU性能報告
  13.8  E4S——極端規模科學軟體棧
第14章  HIP編程實戰:大模型自注意力機制與FlashAttention
  14.1  自注意力機制簡介
  14.2  FlashAttention核心思想
  14.3  HIP實現FlashAttention
附錄A  ROCm安裝
  A.1  先決條件
  A.2  理解ROCm軟體包
  A.3  安裝
    A.3.1  安裝腳本方法
    A.3.2  包管理器方法
    A.3.3  驗證安裝過程
  A.4  升級ROCm
  A.5  卸載ROCm
附錄B  CDNA彙編
  B.1  使用CDNA彙編代碼
    B.1.1  檢索HIP內核二進位文件
    B.1.2  反彙編CDNA二進位文件
  B.2  CDNA寄存器
  B.3  指令類型
  B.4  內存訪問指令
  B.5  示例:移位複製
  B.6  示例:分支
  B.7  比較CDNA2和CDNA
  B.8  總結
附錄C  OmniTools
  C.1  Omnitrace
    C.1.1  Omnitrace配置文件
    C.1.2  收集跟蹤數據
    C.1.3  輸出和可視化
  C.2  Omniperf
    C.2.1  使用Omniperf分析程序性能
    C.2.2  使用CLI進行分析
    C.2.3  使用基於Web的GUI進行分析
    C.2.4  使用Grafana進行分析
  C.3  總結
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁│ 新手上路│ 客服中心│ 關於我們│ 聯絡我們│ Top↑│
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032