新到貨2本75折
GPU編程實戰(基於Python和CUDA)

GPU編程實戰(基於Python和CUDA)

  • 定價:479
  • 優惠價:87417
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書旨在引導讀者基於Python和CUDA的GPU編程開發高性能的應用程式,先後介紹了為什麼要學習GPU編程、搭建GPU編程環境、PyCUDA入門等內容,以及CUDA代碼的調試與性能分析、通過Scikit-CUDA模組使用CUDA庫、實現深度神經網路、CUDA性能優化等內容。學完上述內容,讀者應能從零開始構建基於GPU的深度神經網路,甚至能夠解決與數據科學和GPU編程高性能計算相關的問題。本書適合對GPU編程與CUDA編程感興趣的讀者閱讀。讀者應掌握必要的基本數學概念,且需要具備一定的Python編程經驗。
 

作者介紹

Brian Tuomanen 博士自2014年以來,一直從事CUDA 和GPU 編程方面的工作。他在美國西雅圖華盛頓大學(University of Washington)獲得了電氣工程專業的學士學位,在攻讀數學專業的碩士學位之前,從事過軟體工程方面的工作。後來,他在哥倫比亞的密蘇裡大學攻讀數學博士學位,在那裡與 GPU 編程\"邂逅\"——GPU編程當時主要用於研究科學問題。Tuomanen 博十曾經在美國陸軍研究實驗室以GPU編程為題發表演講,後來在美國馬里蘭州的一家初創公司負責GPU集成和開發方面的工作。目前,他在西雅圖擔任微軟的機器學習專家(Azure CSI)。
 

目錄

第1章 為什麼要學習GPU編程 1
1.1 技術要求 2
1.2 並行化與阿姆達爾定律 2
1.2.1 使用阿姆達爾定律 3
1.2.2 Mandelbrot集 5
1.3 對代碼進行性能分析 7
1.4 小結 9
1.5 習題 10

第2章 搭建GPU編程環境 11
2.1 技術要求 12
2.2 確保擁有合適的硬體 12
2.2.1 檢查硬體(Linux系統) 13
2.2.2 檢查硬體(Windows系統) 14
2.3 安裝GPU驅動程式 15
2.3.1 安裝GPU驅動程式(Linux系統) 16
2.3.2 安裝GPU驅動程式(Windows系統) 17
2.4 搭建C++編程環境 18
2.4.1 設置GCC、Eclipse IDE和圖形處理庫(Linux系統) 18
2.4.2 設置Visual Studio(Windows系統) 18
2.4.3 安裝CUDA Toolkit 20
2.5 為GPU編程設置Python環境 21
2.5.1 安裝PyCUDA(Linux系統) 22
2.5.2 創建環境啟動腳本(Windows系統) 22
2.5.3 安裝PyCUDA(Windows系統) 23
2.5.4 測試PyCUDA 23
2.6 小結 24
2.7 習題 25

第3章 PyCUDA入門 26
3.1 技術要求 26
3.2 查詢GPU 27
3.3 使用PyCUDA的gpuarray類 31
3.3.1 使用gpuarray在GPU之間傳輸資料 31
3.3.2 使用gpuarray進行基本的逐元素算數運算 32
3.4 使用PyCUDA的ElementwiseKernel執行逐元素運算 37
3.4.1 重溫Mandelbrot集 40
3.4.2 函數式編程簡介 44
3.4.3 並行化的掃描內核函數和規約內核函數簡介 45
3.5 小結 47
3.6 習題 47

第4章 內核函數、執行緒、執行緒塊與網格 49
4.1 技術要求 50
4.2 內核函數 50
4.3 執行緒、執行緒塊與網格 53
4.4 執行緒同步與執行緒通信 60
4.4.1 使用設備函數__syncthreads 60
4.4.2 使用共用記憶體 63
4.5 並行首碼演算法 65
4.5.1 樸素並行首碼演算法 66
4.5.2 包含型並行首碼演算法與獨佔型並行首碼演算法 69
4.5.3 工作高效型並行首碼演算法 69
4.5.4 工作高效型並行首碼演算法的實現 71
4.6 小結 74
4.7 習題 74

第5章 流、事件、上下文與併發性 76
5.1 技術要求 77
5.2 CUDA設備同步 77
5.2.1 使用PyCUDA流類 78
5.2.2 通過CUDA流實現併發版本的LIFE 82
5.3 事件 85
5.4 上下文 89
5.4.1 同步當前上下文 90
5.4.2 手動創建上下文 91
5.4.3 主機端多進程與多執行緒技術 92
5.4.4 實現主機端併發的多上下文 93
5.5 小結 97
5.6 習題 97

第6章 CUDA代碼的調試與性能分析 99
6.1 技術要求 100
6.2 在CUDA內核函數中使用printf函數 100
6.3 CUDA C編程簡介 106
6.4 利用Nsight IDE開發和調試CUDA C代碼 113
6.4.1 在Windows平臺上的Visual Studio中使用Nsight 113
6.4.2 在Linux平臺中使用Nsight和Eclipse 117
6.4.3 借助Nsight理解CUDA的執行緒束鎖步特性 120
6.5 使用NVIDIA性能分析工具——nvprof與Visual Profiler 122
6.6 小結 124
6.7 習題 125

第7章 通過Scikit-CUDA模組使用CUDA庫 126
7.1 技術要求 127
7.2 安裝Scikit-CUDA 127
7.3 利用cuBLAS庫處理基本線性代數運算 128
7.3.1 利用cuBLAS庫處理第 1級AXPY運算 128
7.3.2 其他第 1級cuBLAS函數 130
7.3.3 利用cuBLAS庫處理第 2級GEMV運算 131
7.3.4 利用cuBLAS中的第3級GEMM操作測量GPU性能 133
7.4 利用cuFFT庫進行快速傅裡葉變換 136
7.4.1 一維快速傅裡葉變換示例 137
7.4.2 使用FFT進行卷積操作 138
7.4.3 利用cuFFT進行二維卷積 139
7.5 通過Scikit-CUDA使用cuSolver 144
7.5.1 奇異值分解 144
7.5.2 奇異值分解在主成分分析中的應用 146
7.6 小結 147
7.7 習題 148

第8章 CUDA設備函式程式庫與Thrust庫 149
8.1 技術要求 150
8.2 cuRAND設備函式程式庫 150
8.3 CUDA Math API 155
8.3.1 定積分概述 155
8.3.2 用蒙特卡羅方法計算定積分 156
8.3.3 編寫測 例 162
8.4 CUDA Thrust庫 164
8.5 小結 168
8.6 習題 169

第9章 實現深度神經網路 170
9.1 技術要求 170
9.2 人工神經元與神經網路 171
9.3 softmax層的實現 177
9.4 交叉熵損失函數的實現 179
9.5 序貫網路的實現 180
9.5.1 推理方法的實現 182
9.5.2 梯度下降法 184
9.5.3 資料的規範化和歸一化 189
9.6 Iris資料集 190
9.7 小結 192
9.8 習題 193

第10章 應用編譯好的GPU代碼 194
10.1 通過Ctypes模組啟動編譯好的 代碼 194
10.2 編譯並運行純PTX代碼 201
10.3 為CUDA Driver API編寫 包裝器 203
10.4 小結 210
10.5 習題 211

第11章 CUDA性能優化 212
11.1 動態並行性 212
11.2 向量化資料類型與 記憶體訪問 217
11.3 執行緒安全的原子操作 218
11.4 執行緒束洗牌 220
11.5 內聯PTX匯編 223
11.6 經過優化的陣列求和 函數 227
11.7 小結 231
11.8 習題 231

第12章 未來展望 233
12.1 深入瞭解CUDA和GPGPU 編程技術 234
12.1.1 多GPU系統 234
12.1.2 集群計算和消息 傳遞介面 234
12.1.3 OpenCL和 PyOpenCLCUDA 234
12.2 圖形領域 235
12.2.1 OpenGL 235
12.2.2 DirectX 12 235
12.2.3 Vulkan 236
12.3 機器學習與電腦視覺 236
12.3.1 基礎知識 236
12.3.2 cuDNN 236
12.3.3 Tensorflow與Keras 237
12.3.4 Chainer 237
12.3.5 OpenCV 237
12.4 區塊鏈技術 237
12.5 小結 238
12.6 習題 238

習題提示 239
第1章 為什麼要學習GPU編程 239
第2章 搭建GPU編程環境 239
第3章 PyCUDA入門 240
第4章 內核函數、執行緒、執行緒塊與網格 240
第5章 流、事件、上下文與併發性 241
第6章 CUDA代碼的調試與性能分析 241
第7章 通過Scikit-CUDA模組使用CUDA庫 242
第8章 CUDA設備函式程式庫與Thrust庫 242
第9章 實現深度神經網路 243
第10章 應用編譯好的GPU代碼 243
第11章 CUDA性能優化 244
第12章 未來展望 244
 

詳細資料

  • ISBN:9787115560919
  • 規格:平裝 / 244頁 / 16k / 19 x 26 x 1.22 cm / 普通級 / 單色印刷 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折