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

異構系統體系結構:原理、模型及應用
定價:354
NT $ 280
 

內容簡介

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

作者介紹

胡文美(Wen-mei W. Hwu) MulticoreWare公司聯合創始人兼CTO,現任美國伊利諾伊大學厄巴納-香檳分校(UIUC)電氣與電腦工程系教授,兼任平行計算研究中心(Microsoft和Intel聯合資助)科學家,以及全球頭一家CUDA卓越中心(NVIDIA資助)研究員。胡教授是IEEE和ACM會士,在編譯器設計、電腦體系結構、微體系結構和平行計算方面貢獻卓著。
 

目錄

出版者的話
譯者序
推薦序
前言
作者簡介

第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
網路書店 類別 折扣 價格
  1. 新書
    79
    $280