GPU編程與優(yōu)化-大眾高性能計(jì)算 版權(quán)信息
- ISBN:9787302446422
- 條形碼:9787302446422 ; 978-7-302-44642-2
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>>
GPU編程與優(yōu)化-大眾高性能計(jì)算 本書特色
本書**篇系統(tǒng)地介紹GPU編程的相關(guān)知識(shí),幫助讀者快速入門,并構(gòu)建GPU知識(shí)體系;第二篇和第三篇給出大量實(shí)例,對(duì)每個(gè)實(shí)例進(jìn)行循序漸進(jìn)的并行和優(yōu)化實(shí)踐,為讀者提供GPU編程和優(yōu)化參考;第四篇總結(jié)影響GPU性能的關(guān)鍵要素(執(zhí)行核心和存儲(chǔ)體系),量化測(cè)評(píng)GPU的核心性能參數(shù),給出CPU/GPU異構(gòu)系統(tǒng)上覆蓋完全的各種混合并行模式及其實(shí)踐,幫助讀者真正透徹理解GPU。
本書適合作為計(jì)算機(jī)及相關(guān)專業(yè)的教材,也可作為GPU程序開發(fā)人員和科研人員的參考書。本書封面貼有清華大學(xué)出版社防偽標(biāo)簽,無標(biāo)簽者不得銷售。
GPU編程與優(yōu)化-大眾高性能計(jì)算 內(nèi)容簡介
本書**篇系統(tǒng)地介紹GPU編程的相關(guān)知識(shí),幫助讀者快速入門,并構(gòu)建GPU知識(shí)體系;第二篇和第三篇給出大量實(shí)例,對(duì)每個(gè)實(shí)例進(jìn)行循序漸進(jìn)的并行和優(yōu)化實(shí)踐,為讀者提供GPU編程和優(yōu)化參考;第四篇總結(jié)影響GPU性能的關(guān)鍵要素(執(zhí)行核心和存儲(chǔ)體系),量化測(cè)評(píng)GPU的核心性能參數(shù),給出CPU/GPU異構(gòu)系統(tǒng)上覆蓋完全的各種混合并行模式及其實(shí)踐,幫助讀者真正透徹理解GPU。
本書適合作為計(jì)算機(jī)及相關(guān)專業(yè)的教材,也可作為GPU程序開發(fā)人員和科研人員的參考書。本書封面貼有清華大學(xué)出版社防偽標(biāo)簽,無標(biāo)簽者不得銷售。
GPU編程與優(yōu)化-大眾高性能計(jì)算 目錄
目錄
**篇理論篇
第1章高性能計(jì)算概述3
1.1高性能計(jì)算概念辨析3
1.1.1并行計(jì)算、高性能計(jì)算和超級(jí)計(jì)算3
1.1.2超級(jí)計(jì)算機(jī)與超級(jí)計(jì)算中心4
1.2計(jì)算科學(xué)5
1.3高性能計(jì)算發(fā)展史5
1.4高性能計(jì)算簡介6
1.5向量機(jī)與陣列機(jī)8
1.6本章小結(jié)9
第2章GPU概述10
2.1GPU是什么10
2.2協(xié)處理器10
2.3GPU與顯卡的關(guān)系11
2.4GPU/顯卡購買注意事項(xiàng)11
2.5為什么要學(xué)GPU編程12
2.6GPU與CPU辨析13
2.7GPU發(fā)展簡史14
2.8GPU編程方法14
2.9CPU/GPU異構(gòu)系統(tǒng)16
第3章GPU硬件架構(gòu)17
3.1GPU架構(gòu)17
3.1.1Tesla架構(gòu)18
3.1.2Fermi架構(gòu)20
3.1.3Kepler架構(gòu)21
3.1.4Maxwell架構(gòu)23
3.1.5Pascal架構(gòu)243.2Kernel的硬件映射28
3.3GPU存儲(chǔ)體系29
3.4GPU計(jì)算能力30
GPU編程與優(yōu)化——大眾高性能計(jì)算目錄第4章GPU軟件體系33
4.1GPU軟件生態(tài)系統(tǒng)33
4.2CUDA Toolkit34
4.2.1NVCC編譯器34
4.2.2cuobjdump35
4.3CUDA環(huán)境安裝36
4.3.1Windows 7安裝CUDA 4.236
4.3.2Linux下安裝CUDA38
第5章CUDA C編程41
5.1CUDA編程模型41
5.2CUDA編程七步曲42
5.3驅(qū)動(dòng)API與運(yùn)行時(shí)API42
5.4CUDA運(yùn)行時(shí)函數(shù)43
5.4.1設(shè)備管理函數(shù)43
5.4.2存儲(chǔ)管理函數(shù)45
5.4.3數(shù)據(jù)傳輸函數(shù)48
5.4.4線程管理函數(shù)51
5.4.5流管理函數(shù)52
5.4.6事件管理函數(shù)52
5.4.7紋理管理函數(shù)53
5.4.8執(zhí)行控制函數(shù)55
5.4.9錯(cuò)誤處理函數(shù)55
5.4.10圖形學(xué)互操作函數(shù)57
5.4.11OpenGL互操作函數(shù)58
5.4.12Direct3D互操作函數(shù)59
5.5CUDA C語言擴(kuò)展60
5.6gridblockthread三維模型61
第二篇入門篇
第6章向量加法67
6.1向量加法及其串行代碼67
6.2單block單thread向量加68
6.3單block多thread向量加68
6.4多block多thread向量加69
6.5CUBLAS庫向量加法70
6.6實(shí)驗(yàn)結(jié)果分析與結(jié)論71
6.6.1本書實(shí)驗(yàn)平臺(tái)71
6.6.2實(shí)驗(yàn)結(jié)果71
6.6.3結(jié)論71
6.7知識(shí)點(diǎn)總結(jié)72
6.8擴(kuò)展練習(xí)75
第7章歸約: 向量內(nèi)積76
7.1向量內(nèi)積及其串行代碼76
7.2單block分散歸約向量內(nèi)積77
7.3單block低線程歸約向量內(nèi)積78
7.4多block向量內(nèi)積(CPU二次歸約)79
7.5多block向量內(nèi)積(GPU二次歸約)81
7.6基于原子操作的多block向量內(nèi)積81
7.7計(jì)數(shù)法實(shí)現(xiàn)多block向量內(nèi)積84
7.8CUBLAS庫向量內(nèi)積85
7.9實(shí)驗(yàn)結(jié)果與結(jié)論86
7.9.1實(shí)驗(yàn)結(jié)果86
7.9.2結(jié)論86
7.10歸約的深入優(yōu)化探討87
7.10.1block數(shù)量和thread數(shù)量對(duì)歸約性能的影響87
7.10.2算術(shù)運(yùn)算優(yōu)化88
7.10.3減少同步開銷89
7.10.4循環(huán)展開90
7.10.5總結(jié)91
7.11知識(shí)點(diǎn)總結(jié)91
7.12擴(kuò)展練習(xí)94
第8章矩陣乘法95
8.1矩陣乘法及其3種串行代碼95
8.1.1一般矩陣乘法95
8.1.2循環(huán)交換矩陣乘法97
8.1.3轉(zhuǎn)置矩陣乘法98
8.1.4實(shí)驗(yàn)結(jié)果與*優(yōu)串行矩陣乘99
8.2grid線程循環(huán)矩陣乘法100
8.3block線程循環(huán)矩陣乘法101
8.4行共享存儲(chǔ)矩陣乘法101
8.5棋盤陣列矩陣乘法103
8.6判斷移除105
8.7CUBLAS矩陣乘法106
8.8實(shí)驗(yàn)結(jié)果分析與結(jié)論108
8.8.1矩陣乘精度分析108
8.8.2實(shí)驗(yàn)結(jié)果分析110
8.8.3浮點(diǎn)運(yùn)算能力分析111
8.9行共享存儲(chǔ)矩陣乘法改進(jìn)111
8.10知識(shí)點(diǎn)總結(jié)113
8.11擴(kuò)展練習(xí)115
第9章矩陣轉(zhuǎn)置116
9.1矩陣轉(zhuǎn)置及其串行代碼116
9.21D矩陣轉(zhuǎn)置117
9.32D矩陣轉(zhuǎn)置118
9.4共享存儲(chǔ)2D矩陣轉(zhuǎn)置119
9.5共享存儲(chǔ)2D矩陣轉(zhuǎn)置diagonal優(yōu)化120
9.6實(shí)驗(yàn)結(jié)果分析與結(jié)論121
9.7共享存儲(chǔ)2D矩陣轉(zhuǎn)置的深入優(yōu)化122
9.8知識(shí)點(diǎn)總結(jié)124
9.9擴(kuò)展練習(xí)125
第三篇提高篇
第10章卷積129
10.1卷積及其串行實(shí)現(xiàn)129
10.1.1一維卷積129
10.1.2二維卷積131
10.2GPU上1D卷積134
10.3M常量1D卷積135
10.4M共享1D卷積136
10.5N共享1D卷積137
10.6實(shí)驗(yàn)結(jié)果分析139
10.6.1擴(kuò)展法1D卷積實(shí)驗(yàn)結(jié)果分析139
10.6.2判斷法與擴(kuò)展法1D卷積對(duì)比140
10.6.3加速比分析141
10.6.4線程維度對(duì)性能的影響141
10.72D卷積的GPU移植與優(yōu)化142
10.7.1GPU上2D卷積142
10.7.2M常量2D卷積143
10.7.3M常量N共享2D卷積143
10.7.42D卷積實(shí)驗(yàn)結(jié)果分析145
10.8知識(shí)點(diǎn)總結(jié)145
10.9擴(kuò)展練習(xí)147
第11章曼德博羅特集148
11.1曼德博羅特集及其串行實(shí)現(xiàn)148
11.2曼德博羅特集的GPU映射150
11.3一些優(yōu)化嘗試及效果152
11.3.1訪存連續(xù)152
11.3.2uchar4訪存合并153
11.3.34種零拷貝153
11.3.4總結(jié)分析155
11.4計(jì)算通信重疊優(yōu)化156
11.5突破kernel執(zhí)行時(shí)間限制159
11.6知識(shí)點(diǎn)總結(jié)160
11.7擴(kuò)展練習(xí)162
第12章掃描: 前綴求和163
12.1前綴求和及其串行代碼163
12.2KoggeStone并行前綴和164
12.2.1直接KoggeStone分段前綴和164
12.2.2交錯(cuò)KoggeStone分段前綴和165
12.2.3完整KoggeStone前綴和166
12.3BrentKung并行前綴和168
12.3.1BrentKung分段前綴和169
12.3.2兩倍數(shù)據(jù)的BrentKung分段前綴和170
12.3.3避免bank conflict的兩倍數(shù)據(jù)BrentKung分段前綴和171
12.3.4完整BrentKung前綴和173
12.4warp分段的KoggeStone前綴求和174
12.5實(shí)驗(yàn)結(jié)果分析與結(jié)論177
12.6知識(shí)點(diǎn)總結(jié)179
12.7擴(kuò)展練習(xí)180第13章排序181
13.1串行排序及其性能181
13.1.1選擇排序181
13.1.2冒泡排序182
13.1.3快速排序182
13.1.4基數(shù)排序183
13.1.5雙調(diào)排序網(wǎng)絡(luò)185
13.1.6合并排序186
13.1.7串行排序性能對(duì)比187
13.2基數(shù)排序188
13.2.1基數(shù)排序概述188
13.2.2單block基數(shù)排序189
13.2.3基于thrust庫的基數(shù)排序196
13.3雙調(diào)排序網(wǎng)絡(luò)197
13.3.1雙調(diào)排序網(wǎng)絡(luò)概述197
13.3.2單block雙調(diào)排序網(wǎng)絡(luò)199
13.3.3多block雙調(diào)排序網(wǎng)絡(luò)202
13.4快速排序206
13.5合并排序207
13.6實(shí)驗(yàn)結(jié)果分析與結(jié)論208
13.7知識(shí)點(diǎn)總結(jié)209
13.8擴(kuò)展練習(xí)210
第14章幾種簡單圖像處理211
14.1圖像直方圖統(tǒng)計(jì)211
14.1.1串行直方圖統(tǒng)計(jì)211
14.1.2并行直方圖統(tǒng)計(jì)211
14.1.3實(shí)驗(yàn)結(jié)果與分析212
14.2中值濾波213
14.2.1串行中值濾波214
14.2.21D并行中值濾波215
14.2.3共享1D中值濾波216
14.2.4雙重共享1D中值濾波218
14.2.52D并行中值濾波221
14.2.6共享2D中值濾波222
14.2.7共享2D中值濾波的改進(jìn)227
14.2.8實(shí)驗(yàn)結(jié)果與分析229
14.3均值濾波231
14.3.1串行均值濾波231
14.3.2并行均值濾波232
14.3.3實(shí)驗(yàn)結(jié)果與分析233
第四篇核心篇
第15章GPU執(zhí)行核心237
15.1概述237
15.2算術(shù)運(yùn)算支持238
15.2.1整數(shù)運(yùn)算238
15.2.2浮點(diǎn)運(yùn)算239
15.3算術(shù)運(yùn)算性能240
15.4分支處理242
15.5同步與測(cè)時(shí)246
15.5.1同步246
15.5.2測(cè)時(shí)247
15.6數(shù)學(xué)函數(shù)247
15.7warp與block原語249
15.7.1warp原語249
15.7.2block原語250
15.8kernel啟動(dòng)、線程切換和循環(huán)處理251
第16章GPU存儲(chǔ)體系254
16.1概述254
16.2寄存器259
16.3局部存儲(chǔ)261
16.4共享存儲(chǔ)器264
16.4.1共享存儲(chǔ)使用264
16.4.2bank conflict265
16.4.3volatile關(guān)鍵字266
16.4.4共享存儲(chǔ)原子操作267
16.5常量存儲(chǔ)268
16.6全局存儲(chǔ)269
16.6.1全局存儲(chǔ)的使用269
16.6.2全局存儲(chǔ)的合并訪問271
16.6.3利用紋理緩存通道訪問全局存儲(chǔ)271
16.7紋理存儲(chǔ)273
16.7.1CUDA數(shù)組273
16.7.2紋理存儲(chǔ)的操作和限制274
16.7.3讀取模式、紋理坐標(biāo)、濾波模式和尋址模式276
16.7.4表面存儲(chǔ)278
16.8主機(jī)端內(nèi)存281
16.9零拷貝操作283
第17章GPU關(guān)鍵性能測(cè)評(píng)284
17.1GPU性能測(cè)評(píng)概述284
17.2GPU參數(shù)獲取286
17.2.1GPU選擇286
17.2.2詳細(xì)設(shè)備參數(shù)獲取287
17.3精確測(cè)時(shí)方法匯總288
17.3.1clock測(cè)時(shí)289
17.3.2gettimeofday測(cè)時(shí)289
17.3.3CUDA事件測(cè)時(shí)289
17.3.4cutil庫函數(shù)測(cè)時(shí)290
17.4GPU預(yù)熱與啟動(dòng)開銷290
17.5GPU浮點(diǎn)運(yùn)算能力291
17.6GPU訪存帶寬293
17.7GPU通信帶寬295
17.8NVIDIA Visual Profiler296
17.9程序性能對(duì)比約定298
第18章CPUs和GPUs協(xié)同299
18.1協(xié)同優(yōu)化基點(diǎn)299
18.1.1CPU并行矩陣乘基點(diǎn)299
18.1.2GPU并行矩陣乘基點(diǎn)300
18.2CPU/GPU協(xié)同300
18.3多GPU協(xié)同305
18.3.1CUDA版本306
18.3.2OpenMP+CUDA308
18.3.3MPI+CUDA311
18.4CPUs/GPUs協(xié)同314
18.4.1CUDA版本314
18.4.2OpenMP+CUDA319
18.4.3MPI+OpenMP+CUDA324
18.5本章小結(jié)329
附錄
附錄A判斷法1D卷積代碼333
附錄A.1判斷法1D卷積basic版333
附錄A.2判斷法1D卷積constant版334
附錄A.3判斷法1D卷積shared版336
附錄A.4判斷法1D卷積cache版337
附錄B曼德博羅特集的系列優(yōu)化代碼340
附錄B.1完整版串行C代碼340
附錄B.2cuda_1_0343
附錄B.3cuda_0_2345
附錄B.4cuda_zerocopy346
附錄B.5cuda_1_0_zerocopy348
附錄B.6cuda_0_0_zerocopy349
附錄B.7cuda_0_2_zerocopy351
附錄B.8cuda_2352
附錄B.9cuda_1_2354
附錄C幾種圖像處理完整源碼357
附錄C.1BMP圖像讀寫頭文件357
附錄C.2圖像直方圖串行代碼373
附錄C.3串行中值濾波代碼374
附錄C.4并行均值濾波相關(guān)代碼376
附錄Dnvprof幫助菜單383
附錄ENVCC幫助菜單388
附錄F幾種排序算法源代碼399
附錄F.1bitonic_sort_block函數(shù)399
附錄F.2GPU快速排序完整代碼400
附錄F.3GPU合并排序完整代碼408
參考文獻(xiàn)417
展開全部
GPU編程與優(yōu)化-大眾高性能計(jì)算 作者簡介
方民權(quán) 國防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)博士,研究方向是高性能計(jì)算、異構(gòu)計(jì)算,涉及領(lǐng)域包括遙感圖像處理、計(jì)算微電子學(xué)、聲吶信號(hào)處理和地震模擬等。張衛(wèi)民 博士,研究員,博士生導(dǎo)師,任國防科學(xué)技術(shù)大學(xué)海洋科學(xué)與工程研究院總工程師、湖南省氣象協(xié)會(huì)副理事長、湖南省計(jì)算數(shù)學(xué)協(xié)會(huì)理事,研究方向是數(shù)值天氣預(yù)報(bào)、海洋環(huán)境數(shù)值模擬、衛(wèi)星資料、并行算法,科研成果獲部委級(jí)一等獎(jiǎng)7項(xiàng)、二等獎(jiǎng)8項(xiàng)、三等獎(jiǎng)1項(xiàng),出版著作5部,發(fā)表論文80余篇。