發表於2024-11-05
資深軟件開發人員撰寫,濃縮作者多年的OpenCL使用經驗和異構編程心得,係統講述OpenCL的核心概念、技術及實用技巧
從軟件開發人員的角度,深入剖析OpenCL異構並行編程技術,通過50多個OpenCL技巧案例及大量示例代碼,加速掌握異構並行編程技術並理解高性能計算
OpenCL是一個免版稅的標準,適用於對個人計算機、服務器、手機和嵌入式設備中的現代處理器進行跨平颱的並行編程。
本書可大緻劃分為兩部分,第一部分介紹OpenCL並行開發的基礎知識,第二部分則給齣各種算法。每一部分都包含許多代碼示例和圖解,以便演示各種概念。通過閱讀本書,你將學到:
OpenCL的使用方式
OpenCL中的數據劃分和傳送
OpenCL數據類型
OpenCL的各種函數,包括數學、原子、綫程模型、數據傳送等
在OpenCL中開發直方圖
在OpenCL中開發索貝爾邊緣檢測濾波器
在OpenCL中實現矩陣乘法和稀疏矩陣嚮量乘法
在OpenCL中實現雙調排序和基數排序
並行編程的相關知識
資深軟件開發人員撰寫,從軟件開發者的角度,深入剖析OpenCL異構並行編程技術,係統講述OpenCL的核心概念、技術及實用技巧,融閤作者多年OpenCL使用經驗和異構編程心得,包含大量示例代碼,有助於軟件開發人員快速掌握異構並行編程技術並理解高性能計算。
本書共10章,第1章介紹使用OpenCL的目的,並概述OpenCL的核心概念;第2章討論OpenCL中的緩衝區對象以及劃分數據的策略;第3章解釋OpenCL提供的兩種常規數據類型,以及如何使用這些數據類型解決不同的問題;第4章討論OpenCL提供的各種函數,以及如何使用對應的嚮量化函數加快執行速度;第5章給齣典型OpenCL開發的生命周期及一些數據劃分策略;第6章討論如何開發索貝爾邊緣檢測濾波器;第7章講述如何使用OpenCL實現矩陣乘法;第8章討論如何在OpenCL中實現稀疏矩陣嚮量乘法;第9章介紹如何使用OpenCL開發雙調排序;第10章介紹使用OpenCL開發基數排序。
Raymond Tay,資深軟件開發者,擁有非常豐富的軟件開發經驗,精通Scala、Haskell、C和C++等編程語言。Raymond於2008年開始接觸GPGPU技術,最初使用的是NVIDIA提供的CUDA工具箱和AMD提供的OpenCL工具箱,然後使用的是Intel工具箱。他參與瞭多個使用CUDA和OpenCL中所提供GPGPU技術與技巧的項目,同時對雲計算中的函數編程範例和相關應用充滿熱情,並研究通過使用GPGPU技術和函數編程範例加速雲中應用程序的各種途徑。
作者簡介
審校者簡介
前言
第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
OpenCL異構並行編程實戰 下載 mobi pdf epub txt 電子書 格式 2024
OpenCL異構並行編程實戰 下載 mobi epub pdf 電子書書籍不錯,值得推薦,可以考慮
評分書寫得很好,值得好好讀。
評分書籍不錯,值得推薦,可以考慮
評分好書 今天電腦發熱有點大
評分不錯不錯,絕對正版,京東自營給力
評分商品很贊,京東物流給力!
評分好
評分買來沒事兒看看
評分¥47.50
OpenCL異構並行編程實戰 mobi epub pdf txt 電子書 格式下載 2024