書(shū)馨卡幫你省薪 2024個(gè)人購(gòu)書(shū)報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

CUDA C編程權(quán)威指南

出版社:機(jī)械工業(yè)出版社出版時(shí)間:2017-06-01
開(kāi)本: 32開(kāi) 頁(yè)數(shù): 412
中 圖 價(jià):¥66.3(6.7折) 定價(jià)  ¥99.0 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書(shū)更多>

CUDA C編程權(quán)威指南 版權(quán)信息

CUDA C編程權(quán)威指南 本書(shū)特色

本書(shū)主要介紹了如何使用GPU和利用CUDAC語(yǔ)言對(duì)其進(jìn)行編程的。首先從基本的CUDA概念及結(jié)構(gòu)講起,一步一步地引導(dǎo)讀者進(jìn)入CUDA的內(nèi)部世界,由淺入深地介紹了其編程要求及其內(nèi)部架構(gòu),使讀者對(duì)其有了整體印象后,逐步深入了解其內(nèi)部機(jī)能,后介紹了GPU的一些專用函數(shù)和注意事項(xiàng)。

CUDA C編程權(quán)威指南 內(nèi)容簡(jiǎn)介

本書(shū)主要介紹了如何使用GPU和利用CUDAC語(yǔ)言對(duì)其進(jìn)行編程的。首先從基本的CUDA概念及結(jié)構(gòu)講起,一步一步地引導(dǎo)讀者進(jìn)入CUDA的內(nèi)部世界,由淺入深地介紹了其編程要求及其內(nèi)部架構(gòu),使讀者對(duì)其有了整體印象后,逐步深入了解其內(nèi)部機(jī)能,后介紹了GPU的一些專用函數(shù)和注意事項(xiàng)。

CUDA C編程權(quán)威指南 目錄

目  錄
譯者序
推薦序
自序
作者簡(jiǎn)介
技術(shù)審校者簡(jiǎn)介
前言
致謝
第1章 基于CUDA的異構(gòu)并行計(jì)算1
1.1 并行計(jì)算1
1.1.1 串行編程和并行編程2
1.1.2 并行性3
1.1.3 計(jì)算機(jī)架構(gòu)4
1.2 異構(gòu)計(jì)算6
1.2.1 異構(gòu)架構(gòu)7
1.2.2 異構(gòu)計(jì)算范例9
1.2.3 CUDA:一種異構(gòu)計(jì)算平臺(tái)10
1.3 用GPU輸出Hello World12
1.4 使用CUDA C編程難嗎15
1.5 總結(jié)16
1.6 習(xí)題16
第2章 CUDA編程模型18
2.1 CUDA編程模型概述18
2.1.1 CUDA編程結(jié)構(gòu)19
2.1.2 內(nèi)存管理20
2.1.3 線程管理24
2.1.4 啟動(dòng)一個(gè)CUDA核函數(shù)29
2.1.5 編寫(xiě)核函數(shù)30
2.1.6 驗(yàn)證核函數(shù)31
2.1.7 處理錯(cuò)誤32
2.1.8 編譯和執(zhí)行32
2.2 給核函數(shù)計(jì)時(shí)35
2.2.1 用CPU計(jì)時(shí)器計(jì)時(shí)35
2.2.2 用nvprof工具計(jì)時(shí)39
2.3 組織并行線程40
2.3.1 使用塊和線程建立矩陣索引40
2.3.2 使用二維網(wǎng)格和二維塊對(duì)矩陣求和44
2.3.3 使用一維網(wǎng)格和一維塊對(duì)矩陣求和47
2.3.4 使用二維網(wǎng)格和一維塊對(duì)矩陣求和48
2.4 設(shè)備管理50
2.4.1 使用運(yùn)行時(shí)API查詢GPU信息50
2.4.2 確定*優(yōu)GPU53
2.4.3 使用nvidia-smi查詢GPU信息53
2.4.4 在運(yùn)行時(shí)設(shè)置設(shè)備54
2.5 總結(jié)54
2.6 習(xí)題55
第3章 CUDA執(zhí)行模型56
3.1 CUDA執(zhí)行模型概述56
3.1.1 GPU架構(gòu)概述57
3.1.2 Fermi架構(gòu)59
3.1.3 Kepler架構(gòu)61
3.1.4 配置文件驅(qū)動(dòng)優(yōu)化65
3.2 理解線程束執(zhí)行的本質(zhì)67
3.2.1 線程束和線程塊67
3.2.2 線程束分化69
3.2.3 資源分配74
3.2.4 延遲隱藏76
3.2.5 占用率78
3.2.6 同步81
3.2.7 可擴(kuò)展性82
3.3 并行性的表現(xiàn)83
3.3.1 用nvprof檢測(cè)活躍的線程束84
3.3.2 用nvprof檢測(cè)內(nèi)存操作85
3.3.3 增大并行性86
3.4 避免分支分化88
3.4.1 并行歸約問(wèn)題88
3.4.2 并行歸約中的分化89
3.4.3 改善并行歸約的分化93
3.4.4 交錯(cuò)配對(duì)的歸約95
3.5 展開(kāi)循環(huán)97
3.5.1 展開(kāi)的歸約97
3.5.2 展開(kāi)線程的歸約99
3.5.3 完全展開(kāi)的歸約101
3.5.4 模板函數(shù)的歸約102
3.6 動(dòng)態(tài)并行104
3.6.1 嵌套執(zhí)行105
3.6.2 在GPU上嵌套Hello World106
3.6.3 嵌套歸約109
3.7 總結(jié)113
3.8 習(xí)題113
第4章 全局內(nèi)存115
4.1 CUDA內(nèi)存模型概述115
4.1.1 內(nèi)存層次結(jié)構(gòu)的優(yōu)點(diǎn)116
4.1.2 CUDA內(nèi)存模型117
4.2 內(nèi)存管理124
4.2.1 內(nèi)存分配和釋放124
4.2.2 內(nèi)存?zhèn)鬏?25
4.2.3 固定內(nèi)存127
4.2.4 零拷貝內(nèi)存128
4.2.5 統(tǒng)一虛擬尋址133
4.2.6 統(tǒng)一內(nèi)存尋址134
4.3 內(nèi)存訪問(wèn)模式135
4.3.1 對(duì)齊與合并訪問(wèn)135
4.3.2 全局內(nèi)存讀取137
4.3.3 全局內(nèi)存寫(xiě)入145
4.3.4 結(jié)構(gòu)體數(shù)組與數(shù)組結(jié)構(gòu)體147
4.3.5 性能調(diào)整151
4.4 核函數(shù)可達(dá)到的帶寬154
4.4.1 內(nèi)存帶寬154
4.4.2 矩陣轉(zhuǎn)置問(wèn)題155
4.5 使用統(tǒng)一內(nèi)存的矩陣加法167
4.6 總結(jié)171
4.7 習(xí)題172
第5章 共享內(nèi)存和常量?jī)?nèi)存174
5.1 CUDA共享內(nèi)存概述174
5.1.1 共享內(nèi)存175
5.1.2 共享內(nèi)存分配176
5.1.3 共享內(nèi)存存儲(chǔ)體和訪問(wèn)模式176
5.1.4 配置共享內(nèi)存量181
5.1.5 同步183
5.2 共享內(nèi)存的數(shù)據(jù)布局185
5.2.1 方形共享內(nèi)存185
5.2.2 矩形共享內(nèi)存193
5.3 減少全局內(nèi)存訪問(wèn)199
5.3.1 使用共享內(nèi)存的并行歸約199
5.3.2 使用展開(kāi)的并行歸約202
5.3.3 使用動(dòng)態(tài)共享內(nèi)存的并行歸約204
5.3.4 有效帶寬205
5.4 合并的全局內(nèi)存訪問(wèn)205
5.4.1 基準(zhǔn)轉(zhuǎn)置內(nèi)核205
5.4.2 使用共享內(nèi)存的矩陣轉(zhuǎn)置207
5.4.3 使用填充共享內(nèi)存的矩陣轉(zhuǎn)置210
5.4.4 使用展開(kāi)的矩陣轉(zhuǎn)置211
5.4.5 增大并行性214
5.5 常量?jī)?nèi)存215
5.5.1 使用常量?jī)?nèi)存實(shí)現(xiàn)一維模板215
5.5.2 與只讀緩存的比較217
5.6 線程束洗牌指令219
5.6.1 線程束洗牌指令的不同形式220
5.6.2 線程束內(nèi)的共享數(shù)據(jù)222
5.6.3 使用線程束洗牌指令的并行歸約226
5.7 總結(jié)227
5.8 習(xí)題228
第6章 流和并發(fā)230
6.1 流和事件概述231
6.1.1 CUDA流231
6.1.2 流調(diào)度234
6.1.3 流的優(yōu)先級(jí)235
6.1.4 CUDA事件235
6.1.5 流同步237
6.2 并發(fā)內(nèi)核執(zhí)行240
6.2.1 非空流中的并發(fā)內(nèi)核240
6.2.2 Fermi GPU上的虛假依賴關(guān)系242
6.2.3 使用OpenMP的調(diào)度操作244
6.2.4 用環(huán)境變量調(diào)整流行為245
6.2.5 GPU資源的并發(fā)限制246
6.2.6 默認(rèn)流的阻塞行為247
6.2.7 創(chuàng)建流間依賴關(guān)系248
6.3 重疊內(nèi)核執(zhí)行和數(shù)據(jù)傳輸249
6.3.1 使用深度優(yōu)先調(diào)度重疊249
6.3.2 使用廣度優(yōu)先調(diào)度重疊252
6.4 重疊GPU和CPU執(zhí)行254
6.5 流回調(diào)255
6.6 總結(jié)256
6.7 習(xí)題257
第7章 調(diào)整指令級(jí)原語(yǔ)258
7.1 CUDA指令概述259
7.1.1 浮點(diǎn)指令259
7.1.2 內(nèi)部函數(shù)和標(biāo)準(zhǔn)函數(shù)261
7.1.3 原子操作指令262
7.2 程序優(yōu)化指令264
7.2.1 單精度與雙精度的比較264
7.2.2 標(biāo)準(zhǔn)函數(shù)與內(nèi)部函數(shù)的比較266
7.2.3 了解原子指令272
7.2.4 綜合范例277
7.3 總結(jié)279
7.4 習(xí)題280
第8章 GPU加速庫(kù)和OpenACC281
8.1 CUDA庫(kù)概述282
8.1.1 CUDA庫(kù)支持的作用域283
8.1.2 通用的CUDA庫(kù)工作流283
8.2 cuSPARSE庫(kù)285
8.2.1 cuSPARSE數(shù)據(jù)存儲(chǔ)格
展開(kāi)全部
暫無(wú)評(píng)論……
書(shū)友推薦
本類暢銷
返回頂部
中圖網(wǎng)
在線客服