OpenCL 異構並行程式設計實戰 OpenCL异构并行编程实战

雷蒙德·泰 (Raymond Tay)

  • 出版商: 機械工業
  • 出版日期: 2015-10-01
  • 售價: $354
  • 貴賓價: 9.5$336
  • 語言: 簡體中文
  • 頁數: 230
  • 裝訂: 平裝
  • ISBN: 7111515617
  • ISBN-13: 9787111515616

立即出貨 (庫存 < 3)

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

相關主題

商品描述

 

<內容簡介>

本書從軟件開發人員的角度進行編寫,介紹OpenCL的核心概念,以及如何通過OpenCL編寫並行編程。本書共10章。第1章介紹使用OpenCL的目的,第2章討論OpenCL中的緩衝區對像以及劃分數據的策略,第3章解釋OpenCL提供的兩種常規數據類型,以及如何使用這些數據類型解決不同的問題,第4章討論OpenCL提供的各種函數,第5章給出典型OpenCL開發的生命週期,第6章討論如何開發索貝爾邊緣檢測濾波器,第7章講述如何使用OpenCL實現矩陣乘法,第8章討論如何在OpenCL中實現稀疏矩陣向量乘法,第9章介紹如何使用OpenCL開發雙調排序,第10章介紹使用OpenCL開發基數排序。

 

<章節目錄>

作者簡介
審校者簡介
前言
第1章 使用OpenCL 1
1.1 引言 1
1.2 查詢OpenCL平臺 7
1.3 查詢平臺上的OpenCL設備 10
1.4 查詢OpenCL設備擴展 14
1.5 查詢OpenCL上下文 16
1.6 查詢OpenCL程序 20
1.7 創建OpenCL內核 25
1.8 創建命令隊列以及對OpenCL內核排隊 28
第2章 理解OpenCL數據傳送與劃分 32
2.1 引言 32
2.2 創建OpenCL緩沖對象 33
2.3 檢索關於OpenCL緩沖對象的信息 39
2.4 創建OpenCL子緩沖對象 41
2.5 檢索關於OpenCL子緩沖對象的信息 45
2.6 理解事件和事件同步 47
2.7 在存儲對象之間覆制數據 50
2.8 使用工作項劃分數據 55
第3章 理解OpenCL數據類型 62
3.1 引言 62
3.2 初始化OpenCL標量數據類型 63
3.3 初始化OpenCL向量數據類型 65
3.4 使用OpenCL標量類型 67
3.5 理解OpenCL向量類型 69
3.6 向量和標量地址空間 80
3.7 配置OpenCL項目以啟用double數據類型 83
第4章 使用OpenCL函數 87
4.1 引言 87
4.2 將向量存儲到數組中 88
4.3 從數組加載向量 91
4.4 使用幾何函數 94
4.5 使用整型函數 97
4.6 使用浮點函數 99
4.7 使用三角函數 101
4.8 OpenCL中的算術和舍入 104
4.9 使用OpenCL中的shuffle函數 107
4.10 使用OpenCL中的select函數 109
第5章 開發直方圖OpenCL程序 112
5.1 引言 112
5.2 在C/C++中實現直方圖 112
5.3 直方圖的OpenCL實現 115
5.4 工作項同步 124
第6章 開發索貝爾邊緣檢測濾波器 126
6.1 引言 126
6.2 理解捲積理論 127
6.3 理解一維捲積 128
6.4 理解二維捲積 130
6.5 索貝爾邊緣濾波器的OpenCL實現 132
6.6 理解OpenCL中的剖析 137
第7章 使用OpenCL實現矩陣乘法 140
7.1 引言 140
7.2 理解矩陣乘法 141
7.3 矩陣乘法的OpenCL實現 144
7.4 通過線程粗化獲得矩陣乘法的更快速OpenCL實現 147
7.5 通過寄存器分塊獲得矩陣乘法的更快速OpenCL實現 150
7.6 通過矩陣乘法中的共享內存數據預取減少全局內存 152
第8章 在OpenCL中實現稀疏矩陣向量乘法 157
8.1 引言 157
8.2 使用共軛梯度方法對SpMV求解 158
8.3 理解各種SpMV數據存儲格式,包括ELLPACK、ELLPACK—R、COO和CSR 162
8.4 理解如何使用ELLPACK—R格式解決SpMV問題 166
8.5 理解如何使用CSR格式解決SpMV問題 168
8.6 理解如何使用VexCL格式解決SpMV問題 176
第9章 使用OpenCL實現雙調排序 179
9.1 引言 179
9.2 瞭解排序網絡 180
9.3 瞭解雙調排序 182
9.4 在OpenCL中開發雙調排序 187
第10章 使用OpenCL實現基數排序 196
10.1 引言 196
10.2 瞭解基數排序 196
10.3 瞭解MSD和LSD基數排序 198
10.4 瞭解歸約 200
10.5 在OpenCL中開發基數排序 207