-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
GPU編程實戰 基于Python和CUDA 版權信息
- ISBN:9787115560919
- 條形碼:9787115560919 ; 978-7-115-56091-9
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
GPU編程實戰 基于Python和CUDA 本書特色
適讀人群 :有一定Python基礎,對GPU感興趣的讀者。1.本書基于Python和CUDA介紹GPU編程2.重點介紹如何通過GPU編程來實現高性能的并行計算3.本書為讀者供習題,并以“習題提示”的方式給出解題思路4.異步社區為讀者提供配套代碼
GPU編程實戰 基于Python和CUDA 內容簡介
本書旨在引導讀者基于Python與CUDA的GPU編程開發高性能的Python應用程序。全書介紹了為什么要學GPU編程、搭建GPU編程環境、PyCUDA基礎, CUDA代碼的調試與性能分析、通過Scikit-CUDA模塊使用CUDA庫、實現深度神經網絡、CUDA性能優化等內容。學完上述內容, 讀者應能從頭開始開發基于GPU的深度神經網絡, 甚至能夠解決與數據科學和GPU編程高性能計算相關的問題。
GPU編程實戰 基于Python和CUDA 目錄
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
GPU編程實戰 基于Python和CUDA 作者簡介
Brian Tuomanen 博士自2014年以來,一直從事CUDA 和GPU 編程方面的工作。他在美國西雅圖華盛頓大學(University of Washington)獲得了電氣工程專業的學士學位,在攻讀數學專業的碩士學位之前,從事過軟件工程方面的工作。后來,他在哥倫比亞的密蘇里大學攻讀數學博士學位,在那里與 GPU 編程"邂逅"——GPU編程當時主要用于研究科學問題。Tuomanen 博十曾經在美國陸軍研究實驗室以GPU編程為題發表演講,后來在美國馬里蘭州的一家初創公司負責GPU集成和開發方面的工作。目前,他在西雅圖擔任微軟的機器學習專家(Azure CSI)。
- >
羅曼·羅蘭讀書隨筆-精裝
- >
經典常談
- >
回憶愛瑪儂
- >
我與地壇
- >
上帝之肋:男人的真實旅程
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
名家帶你讀魯迅:朝花夕拾
- >
大紅狗在馬戲團-大紅狗克里弗-助人