異構系統體系結構:原理、模型及套用

異構系統體系結構:原理、模型及套用

《異構系統體系結構:原理、模型及套用》是2018年機械工業出版社出版的圖書,作者是[美]胡文美(Wen-mei W. Hwu)。

基本介紹

  • 書名:異構系統體系結構:原理、模型及套用
  • 作者:[美]胡文美(Wen-mei W. Hwu)
  • ISBN:9787111606697
  • 定價:59元
  • 出版社:機械工業出版社
  • 出版時間:2018年9月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書為我們呈現了異構系統架構(HSA)的關鍵技術、實現方法和案例套用。首先回顧異構並行處理的發展進程、相關問題,分析HSA相對於其他技術的優勢。之後深入探討了運行時、記憶體模型、佇列、上下文交換、架構佇列語言、模擬器、工具鏈等問題。最後選取三個實際案例,基於C++應用程式,說明了HSA如何能夠顯著提升程式性能。

圖書目錄

出版者的話
譯者序
推薦序
前言
作者簡介
第1章 引言 1
第2章 HSA 概述 5
2.1 GPU計算簡史:HSA解決的問題 5
2.2 HSA的支柱 9
2.2.1 HSA記憶體模型 9
2.2.2 HSA排隊模型 9
2.2.3 HSAIL虛擬ISA 10
2.2.4 HSA上下文切換 10
2.3 HSA規範 10
2.3.1 HSA平台系統體系結構規範 10
2.3.2 HSA運行時規範 10
2.3.3 HSA程式設計師參考手冊—HSAIL SPEC 11
2.4 HSA軟體 11
2.5 HSA基金會 12
2.6 小結 13
第3章 HSAIL——虛擬並行ISA 14
3.1 引言 14
3.2 編譯流程示例 15
3.3 HSAIL執行模型 16
3.4 HSAIL指令集簡介 17
3.4.1 原子操作 18
3.4.2 暫存器 18
3.4.3 分段 19
3.4.4 波前和通道 20
3.5 HSAIL機器模型和配置檔案 21
3.6 HSAIL編譯流程 22
3.7 HSAIL編譯工具 23
3.7.1 編譯器框架 23
3.7.2 CL離線編譯 24
3.7.3 HSAIL彙編器/反彙編器 25
3.7.4 ISA和機器碼彙編器/反彙編器 25
3.8 小結 25
第4章 HSA運行時 26
4.1 引言 26
4.2 HSA核心運行時API 28
4.2.1 運行時的初始化和關閉 28
4.2.2 運行時的通知 29
4.2.3 系統和HSA代理信息 29
4.2.4 信號 30
4.2.5 佇列 31
4.2.6 體系結構排隊語言 31
4.2.7 記憶體 32
4.2.8 代碼對象和執行檔 34
4.3 HSA運行時擴展 35
4.3.1 HSAIL 終止化 35
4.3.2 圖像和採樣器 35
4.4 小結 37
參考文獻 38
第5章 HSA 記憶體模型 39
5.1 引言 39
5.2 HSA記憶體結構 40
5.2.1 分段 41
5.2.2 平面定址 42
5.2.3 共享虛擬定址 42
5.2.4 所有權 43
5.2.5 圖像記憶體 43
5.3 HSA記憶體一致性基礎 43
5.3.1 背景:順序一致性 44
5.3.2 背景:衝突和競爭 45
5.3.3 單一記憶體範圍的HSA記憶體模型 45
5.3.4 多個記憶體範圍的HSA記憶體模型 48
5.3.5 記憶體段 51
5.3.6 匯總:HSA競爭自由 51
5.3.7 附加觀察和注意事項 52
5.4 HSA記憶體模型中的高級一致性 52
5.4.1 鬆弛原子 52
5.4.2 所有權和範圍界限 54
5.5 小結 54
參考文獻 55
第6章 HSA 排隊模型 56
6.1 引言 56
6.2 用戶模式佇列 56
6.3 體系結構排隊語言 59
6.3.1 包的類型 60
6.3.2 創建數據包 63
6.4 包的提交與調度 64
6.5 小結 70
參考文獻 70
第7章 編譯器技術 71
7.1 引言 71
7.2 C++ AMP簡介 71
7.2.1 C++ AMP array_view 73
7.2.2 C++ AMP parallel_for_each或核心調用 73
7.3 將HSA作為編譯器目標 74
7.4 將關鍵的C++ AMP構造映射到HSA 75
7.5 C++ AMP編譯流程 77
7.6 編譯生成的C++ AMP代碼 78
7.7 C++ AMP中平鋪的編譯器支持 80
7.7.1 劃分計算域 81
7.7.2 指定地址空間和屏障 81
7.8 記憶體段注釋 82
7.9 針對HSA的通用C++ 84
7.10 平台原子的編譯器支持 86
7.11 新建/刪除操作符的編譯器支持 91
7.11.1 實現具有平台原子性的新建/刪除操作符 92
7.11.2 將新建/刪除返回的地址提升到全局記憶體段 94
7.11.3 基於等待 API /信號HSAIL指令改進新建/刪除操作符 94
7.12 小結 96
參考文獻 96
第8章 套用用例:平台原子性 97
8.1 引言 97
8.2 HSA中的原子性 98
8.3 任務佇列系統 100
8.3.1 靜態執行 100
8.3.2 動態執行 101
8.3.3 HSA任務佇列系統 101
8.3.4 評估 104
8.4 廣度優先搜尋 107
8.4.1 傳統實現 109
8.4.2 HSA實現 110
8.4.3 評估 112
8.5 數據布局轉換 113
8.5.1 使用PTTWAC算法進行SoA-ASTA轉換 115
8.5.2 PTTWAC的HSA實現 116
8.5.3 評估 116
8.6 小結 118
致謝 118
參考文獻 118
第9章 HSA模擬器 120
9.1 在Multi2Sim中模擬HSA 120
9.1.1 引言 120
9.1.2 Multi2Sim-HSA 121
9.1.3 HSAIL 宿主機 HSA 122
9.1.4 HSA 運行時 124
9.1.5 仿真器設計 124
9.1.6 日誌與調試 125
9.1.7 Mulit2Sim-HSA路線圖 126
9.1.8 安裝與支持 126
9.2 HSAemu仿真HSA 127
9.2.1 引言 127
9.2.2 建模的HSA組件 128
9.2.3 HSAemu的設計 129
9.2.4 多執行緒HSA GPU仿真器 131
9.2.5 剖析、調試與性能模型 132
9.3 softHSA模擬器 133
9.3.1 引言 133
9.3.2 高層次設計 133
9.3.3 創建與測試模擬器 134
9.3.4 使用LLVM HSA模擬器進行調試 135
參考文獻 137
索引 139

相關詞條

熱門詞條

聯絡我們