-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

OpenCL異構并行計算:原理、機制與優化實踐

( 簡體 字)
作者:劉文志 陳軼 吳長江類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社OpenCL異構并行計算:原理、機制與優化實踐 3dWoo書號: 42811
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:11/1/2015
頁數:380
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111519348
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書一共分為4個部分:第1章介紹并行計算的沿革與現狀。第2章介紹了OpenCLC語言的相關語法。第3章到第5章講解了OpenCL運行時接口及其功能。第6章講解了OpenCL更底層的工作機制,并結合當前主流的GPGPU做詳細分析。第7章到第11章則是以四個實際常用算法來介紹如何用OpenCL做加速并行計算。通過閱讀本書,讀者不僅能全面掌握OpenCL的常規用法,而且還能深入了解OpenCL的運作機制,如何將計算設備的性能發揮到極致。這樣就可以充分利用硬件特性來調整算法,使得計算速度能達到峰值。


目錄:

序一
序二
前言
第1章 異構并行計算的過去、現狀和未來 1
1.1 單核標量處理器的困境 3
1.1.1 單核標量處理器如何提高性能 4
1.1.2 為什么單核標量處理器性能到達瓶頸 6
1.2 多核并行計算與向量化的出現 7
1.2.1 為什么會有多核 7
1.2.2 為什么會有向量化 7
1.2.3 如何利用多核和向量化的能力 8
1.2.4 多核和向量化的難點 8
1.3 異構并行計算的崛起 9
1.3.1 GPGPU的理念 9
1.3.2 CUDA的崛起 10
1.3.3 OpenCL橫空出世 10
1.4 異構并行計算的未來(百花齊放) 11
1.5 本章小結 13
第2章 OpenCL的基本介紹 14
2.1 什么是OpenCL 14
2.2 OpenCL 平臺模型 15
2.3 OpenCL 執行模型 15
2.3.1 上下文 16
2.3.2 命令隊列 17
2.3.3 內核在OpenCL設備上執行 18
2.4 OpenCL存儲器模型 19
2.4.1 存儲器區域 19
2.4.2 存儲器對象 21
2.4.3 共享虛擬存儲器 21
2.5 OpenCL與OpenGL 22
2.6 OpenCL與CUDA 23
2.7 本章小結 23
第3章 進入OpenCL的世界(矢量加法) 25
3.1 構建示例 25
3.1.1 Windows平臺 26
3.1.2 Linux平臺 28
3.1.3 OS X平臺 28
3.1.4 矢量加示例 29
3.2 獲得OpenCL平臺和設備及其屬性 36
3.2.1 OpenCL平臺 36
3.2.2 OpenCL設備 40
3.3 創建上下文和命令隊列 51
3.3.1 創建OpenCL上下文 51
3.3.2 創建命令隊列 56
3.4 創建程序對象和內核對象 58
3.5 程序對象 59
3.5.1 創建程序對象 59
3.5.2 構建程序對象 61
3.5.3 查詢和管理程序對象 66
3.6 內核對象 69
3.6.1 創建內核對象 69
3.6.2 設置內核參數 70
3.6.3 查詢和管理內核對象 73
3.7 執行內核 75
3.8 編寫內核代碼 76
3.9 OpenCL錯誤處理 78
3.10 本章小結 81
第4章 OpenCL C語言 82
4.1 修飾符 82
4.1.1 地址空間修飾符 82
4.1.2 函數修飾符 86
4.1.3 對象訪問修飾符 88
4.2 標量數據類型 88
4.3 矢量數據類型 91
4.3.1 為什么要有矢量數據類型 92
4.3.2 矢量數據的使用 93
4.4 運算符 96
4.5 工作項布局函數 99
4.5.1 維度和工作項 100
4.5.2 工作組 101
4.6 數據拷貝操作 102
4.6.1 矢量數據拷貝 102
4.6.2 異步拷貝和預取 104
4.7 浮點函數 105
4.7.1 數學函數 106
4.7.2 公共函數 109
4.7.3 幾何函數 110
4.8 整數函數 110
4.9 關系函數 112
4.10 雜項矢量函數 115
4.11 同步函數 117
4.12 原子函數 119
4.13 圖像讀/寫函數 122
4.13.1 內建圖像讀函數 122
4.13.2 內建無采樣器圖像讀 函數 126
4.13.3 內建圖像寫函數 129
4.13.4 內建圖像查詢函數 131
4.14 工作組函數 132
4.15 管道函數 134
4.15.1 內建管道讀/寫函數 135
4.15.2 內建工作組管道讀/寫函數 139
4.15.3 內建管道查詢函數 140
4.16 設備隊列 140
4.16.1 Blocks語法 142
4.16.2 設備隊列相關函數 143
4.16.3 子內核存儲器可見性 147
4.16.4 設備隊列的使用示例 148
4.17 本章小結 153
第5章 OpenCL存儲器對象 154
5.1 緩沖區 154
5.1.1 分配緩沖區對象 154
5.1.2 創建子緩沖區對象 157
5.2 圖像對象和采樣器對象 160
5.2.1 圖像對象 160
5.2.2 采樣器對象 166
5.2.3 圖像旋轉示例 171
5.3 管道 175
5.3.1 創建管道對象 175
5.3.2 管道對象查詢 175
5.4 存儲器對象數據傳輸 176
5.4.1 主機與設備間數據傳輸 176
5.4.2 存儲器對象數據填充 181
5.4.3 存儲器對象間數據傳輸 184
5.4.4 存儲器對象映射 187
5.5 共享虛擬存儲器 192
5.5.1 SVM緩沖操作 192
5.5.2 SVM類型和特性 197
5.5.3 相關示例 204
5.6 存儲器一致性模型 208
5.6.1 存儲器次序規則 214
5.6.2 原子操作的存儲器次序規則 217
5.6.3 柵欄操作的存儲器次序規則 219
5.6.4 工作組函數的存儲器次序規則 220
5.6.5 主機端與設備端命令的存儲器次序規則 221
5.6.6 關于存儲器次序在實際OpenCL計算設備中的實現 223
5.7 本章小結 230
第6章 OpenCL同步及事件機制 231
6.1 主機端的OpenCL同步 232
6.2 OpenCL 事件機制 235
6.2.1 對OpenCL事件的標記和柵欄 244
6.2.2 內核程序中的同步 244
6.2.3 工作組內同步 245
6.3 原子操作 249
6.3.1 OpenCL 1.2中的原子操作 249
6.3.2 OpenCL 2.0中的原子操作 256
6.4 局部存儲器與全局存儲器間的異步拷貝 268
6.5 工作組間同步 272
6.6 本章小結 280
第7章 OpenCL與OpenGL互操作 281
7.1 從一個OpenGL上下文來創建OpenCL上下文 282
7.2 OpenCL使用OpenGL共享的緩存對象 283
7.3 OpenCL使用OpenGL紋理數據 295
7.4 OpenCL共享OpenGL渲染緩存 308
7.5 從一個OpenCL存儲器對象查詢OpenGL對象信息 314
7.6 訪問共享對象的OpenCL與OpenGL之間的同步 315
7.7 本章小結 320
第8章 OpenCL到主流GPU處理器的映射 321
8.1 AMD家族GPU 321
8.1.1 AMD Cayman架構GPU 321
8.1.2 AMD GCN架構的GPU 326
8.2 NVIDIA CUDA兼容的GPU 333
8.2.1 NVIDIA GPU架構的執行模型 334
8.2.2 NVIDIA GPU的全局存儲器 335
8.2.3 NVIDIA GPU的局部存儲器 336
8.3 ARM Mali GPU架構 336
8.3.1 硬件架構 337
8.3.2 存儲器層次 337
8.3.3 OpenCL映射 337
8.4 本章小結 338
第9章 OpenCL計算二維卷積 339
9.1 測試平臺信息 340
9.2 AMD X86 CPU串行實現 341
9.2.1 簡單實現 341
9.2.2 循環展開優化實現 342
9.2.3 AVX指令集優化 344
9.2.4 OpenMP 345
9.3 簡單OpenCL實現 347
9.4 使用常量存儲器優化 349
9.5 使用局部存儲器優化 351
9.6 一個工作項同時計算多個輸出 353
9.7 本章小結 355
第10章 OpenCL計算矩陣乘法 356
10.1 串行實現 357
10.1.1 初次實現 357
10.1.2 緩存友好的實現 357
10.1.3 使用AVX指令集實現 358
10.2 簡單OpenCL實現 359
10.3 使用局部存儲器優化 361
10.4 使用向量加載指令 363
10.5 一個工作項同時計算多個輸出 365
10.6 優化流水線性能 368
10.7 本章小結 371
附錄A OpenCL Query實例 372
附錄B 其他主流異構并行計算編程環境簡介 376
序: