高性能CUDA應用設計與開發

高性能CUDA應用設計與開發 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社華章公司
作者:Rob Farber
出品人:
頁數:292
译者:於玉龍
出版時間:2013-1-1
價格:59.00元
裝幀:平裝
isbn號碼:9787111404460
叢書系列:高性能計算技術叢書
圖書標籤:
  • CUDA
  • 並行
  • 並行計算
  • programming
  • 計算機
  • 程序設計
  • C++
  • 計算機科學
  • CUDA編程
  • 高性能計算
  • 並行計算
  • GPU開發
  • 計算機體係結構
  • 算法優化
  • 編程實踐
  • 科學計算
  • 深度學習
  • 高性能應用
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書是廣受推崇的係統學習高性能CUDA應用開發與設計的經典著作,是美國國傢安全實驗室資深高性能編程專傢多年工作經驗結晶,橡樹嶺國傢實驗室資深專傢鼎力推薦!本書不僅從硬件角度深入解讀瞭CUDA的設計理念和GPGPU硬件的體係結構,而且從軟件角度係統講解瞭CUDA應用設計與開發的思想、方法、技巧、準則、注意事項和最佳實踐。

第1章首先介紹瞭CUDA的核心概念和編程思想,以及構建與調試CUDA應用所需的工具和方法,然後講解瞭有效提高程序性能的CPU編程準則;第2章講解瞭CUDA在機器學習與優化中的核心概念與應用,並給齣瞭完整的通用框架;第3章介紹瞭CUDA的性能分析工具套件以及性能分析的方法,同時討論瞭PCA和NLPCA兩種數據挖掘方法;第4章講解瞭CUDA的執行模型,深刻揭示瞭GPU的工作方式和原理;第5章介紹瞭CUDA提供的多種GPU內存,以及各種內存的優缺點;第6章講解瞭高效利用內存的技術;第7章介紹瞭GPU提供的多種並行方式及其應用;第8章首先討論瞭多種CUDA後端設備,以及CUDA如何與Python、Java、R等高級語言交互;第9章講解瞭CUDA與圖形渲染混閤編程;第10章講解瞭在雲計算和集群環境中使用CUDA的方法和技術細節;第11章介紹瞭CUDA在高維數據處理、力導嚮圖、交互式工作流、量子化學等現實問題中的應用;第12章為學習CUDA設計瞭一個綜閤性的針對實時視頻流的應用案例。

著者簡介

Rob Farber,資深高性能編程專傢,Irish高端計算中心和美國國傢實驗室等權威機構的高性能編程技術顧問,同時為多傢《財富》世界500強企業提供谘詢服務,經驗十分豐富,在該領域頗具權威和影響力。他還是一位技術作傢,任職於Santa Fe學院,在《Dr. Dobb’s Journal》《Scientific Computing》等媒體上發錶瞭多篇關於高性能編程的經典技術文章,深受讀者喜愛。此外,他還是《財富》美國100強中兩傢公司的閤夥創始人。

圖書目錄

譯者序
序言
前言
第1章 CUDA入門與編程思想1
1.1 源代碼與維基1
1.2 一個用以區彆CUDA與傳統程序開發的示例2
1.3 選擇閤適的CUDA API5
1.4 CUDA的一些基本概念7
1.5 理解首個Runtime Kernel10
1.6 GPGPU編程的三條法則11
1.6.1 法則1:將數據放入並始終存儲於GPU12
1.6.2 法則2:交給GPGPU足夠多的任務12
1.6.3 法則3:注重GPGPU上的數據重用,以避免帶寬限製12
1.7 大O記號的思想與數據傳輸13
1.8 CUDA和Amdahl定律15
1.9 數據並行與任務並行15
1.10 混閤執行:同時使用CPU和GPU資源16
1.11 迴歸測試與正確性18
1.12 靜默錯誤19
1.13 調試簡介20
1.14 UNIX調試方法21
1.14.1 NVIDIA cuda-gdb調試器21
1.14.2 CUDA內存檢查器23
1.14.3 通過UNIX ddd界麵使用cuda-gdb24
1.15 使用Parallel Nsight進行Windows調試25
1.16 本章小結27
第2章 CUDA在機器學習與優化中的應用28
2.1 建模與模擬28
2.1.1 擬閤參數化模型29
2.1.2 Nelder-Mead方法30
2.1.3 Levenberg-Marquardt方法30
2.1.4 算法加速31
2.2 機器學習與神經網絡32
2.3 異或邏輯:一個重要的非綫性機器學習問題33
2.3.1 目標函數示例35
2.3.2 針對多GPU設備、多CPU處理器的完整仿函數35
2.3.3 完整Nelder-Mead優化代碼的簡要討論37
2.4 異或邏輯的性能結果45
2.5 性能討論45
2.6 本章小結48
2.7 C++ NELDER-MEAD代碼模闆48
第3章 CUDA工具套件:對PCA、NLPCA進行性能分析53
3.1 PCA和NLPCA53
3.1.1 自編碼網絡55
3.1.2 用於PCA分析的仿函數示例56
3.1.3 用於NLPCA分析的示例仿函數58
3.2 獲得基礎性能分析數據60
3.3 gprof:通用UNIX性能分析器61
3.4 NVIDIA可視化性能分析器:computeprof62
3.5 Microsoft Visual Studio中的Parallel Nsight65
3.5.1 Nsight時間錶分析66
3.5.2 NVTX跟蹤支持庫67
3.5.3 CUDA API的可擴展性錶現68
3.6 性能調節與分析實用工具(TAU)70
3.7 本章小結70
第4章 CUDA執行模型72
4.1 GPU架構綜述72
4.1.1 綫程調度:通過執行配置統籌性能與並行度74
4.1.2 computeprof中Warp相關值77
4.1.3 Warp分歧77
4.1.4 關於Warp分歧的若乾準則78
4.1.5 computeprof中Warp分歧相關值79
4.2 Warp調度與TLP79
4.3 ILP:高性能低占用率80
4.3.1 ILP隱藏算術計算延遲81
4.3.2 ILP隱藏數據延遲84
4.3.3 ILP的未來84
4.3.4 computeprof中指令速率相關值85
4.4 Little法則86
4.5 檢測限製因素的CUDA工具87
4.5.1 nvcc編譯器88
4.5.2 啓動約束90
4.5.3 反匯編器90
4.5.4 PTX Kernel函數92
4.5.5 GPU模擬器92
4.6 本章小結93
第5章 CUDA存儲器94
5.1 CUDA存儲器層次結構94
5.2 GPU存儲器95
5.3 L2緩存98
5.4 L1緩存99
5.5 CUDA內存類型100
5.5.1 寄存器101
5.5.2 局域內存101
5.5.3 和局域內存相關的computeprof性能分析參數102
5.5.4 共享內存102
5.5.5 和共享內存相關的computeprof性能分析參數105
5.5.6 常量內存105
5.5.7 紋理內存106
5.5.8 和紋理內存相關的computeprof性能分析參數108
5.6 全局內存109
5.6.1 常見的整閤內存示例110
5.6.2 全局內存的申請111
5.6.3 全局內存設計中的限製因素113
5.6.4 和全局內存相關的computeprof性能分析參數114
5.7 本章小結115
第6章 高效使用CUDA存儲器116
6.1 歸約116
6.1.1 歸約模闆117
6.1.2 functionReduce.h的測試程序122
6.1.3 測試結果126
6.2 使用非規則數據結構127
6.3 稀疏矩陣和CUSP支持庫131
6.4 圖論算法132
6.5 SoA、AoS以及其他數據結構134
6.6 分片和分塊135
6.7 本章小結136
第7章 提高並行度的技巧137
7.1 CUDA上下文環境對並行度的擴展137
7.2 流與上下文環境138
7.2.1 多GPU的使用139
7.2.2 顯式同步139
7.2.3 隱式同步141
7.2.4 統一虛擬地址空間141
7.2.5 一個簡單的示例142
7.2.6 分析結果144
7.3 使用多個流亂序執行144
7.3.1 在同一GPU內並發執行Kernel函數的建議147
7.3.2 隱式並行Kernel的原子操作147
7.4 將數據捆綁計算149
7.4.1 手動分割數據150
7.4.2 映射內存150
7.4.3 映射內存的工作機製152
7.5 本章小結153
第8章 CUDA在所有GPU與CPU程序中的應用154
8.1 從CUDA到多種硬件後端的途徑155
8.1.1 PGI CUDA x86編譯器155
8.1.2 PGI CUDA x86編譯器157
8.1.3 將x86處理器核心用作流多處理器159
8.1.4 NVIDIA NVCC編譯器160
8.1.5 Ocelot160
8.1.6 Swan161
8.1.7 MCUDA162
8.2 從其他語言訪問CUDA162
8.2.1 SWIG162
8.2.2 Copperhead163
8.2.3 EXCEL164
8.2.4 MATLAB164
8.3 支持庫164
8.3.1 CUBLAS164
8.3.2 CUFFT165
8.3.3 MAGMA174
8.3.4 phiGEMM支持庫175
8.3.5 CURAND176
8.4 本章小結177
第9章 CUDA與圖形渲染混閤編程178
9.1 OpenGL178
9.1.1 GLUT179
9.1.2 通過OpenGL映射GPU內存179
9.1.3 使用基元重啓提升3D處理性能181
9.2 框架內各文件的介紹183
9.2.1 Kernel與Perlin Kernel演示的示例代碼184
9.2.2 simpleGLmain.cpp文件192
9.2.3 simpleVBO.cpp文件196
9.2.4 callbacksVBO.cpp文件199
9.3 本章小結204
第10章 在雲計算和集群環境中使用CUDA205
10.1 消息傳遞接口205
10.1.1 MPI編程模型206
10.1.2 MPI通信器206
10.1.3 MPI進程號206
10.1.4 主從模式208
10.1.5 點對點模式基礎208
10.2 MPI通信機製209
10.3 帶寬211
10.4 平衡率212
10.5 運行大型MPI程序需要考慮的因素214
10.5.1 初始數據加載的可擴展性214
10.5.2 使用MPI進行計算215
10.5.3 可擴展性檢查216
10.6 雲計算217
10.7 代碼示例218
10.7.1 數據的産生218
10.7.2 主體代碼部分220
10.8 本章小結225
第11章 CUDA在現實問題中的應用227
11.1 高維數據的處理228
11.1.1 PCA/NLPCA228
11.1.2 多維尺度分析229
11.1.3 K均值聚類算法229
11.1.4 期望最大化229
11.1.5 支持嚮量機230
11.1.6 Bayesian網絡230
11.1.7 互信息231
11.2 力導嚮圖232
11.3 Monte Carlo方法232
11.4 分子建模233
11.5 量子化學234
11.6 交互式工作流234
11.7 其他眾多的項目235
11.8 本章小結235
第12章 針對現場實況視頻流的應用程序236
12.1 機器視覺話題236
12.1.1 3D效果237
12.1.2 膚色區域分割238
12.1.3 邊緣檢測238
12.2 FFmpeg239
12.3 TCP服務器241
12.4 實況視頻流應用程序244
12.4.1 kernelWave():動畫Kernel函數244
12.4.2 kernelFlat():在平麵渲染圖像245
12.4.3 kernelSkin():僅保留膚色區域245
12.4.4 kernelSobel():Sobel邊緣檢測過濾器246
12.4.5 launch_kernel()方法247
12.5 simpleVBO.cpp文件248
12.6 callbacksVBO.cpp文件248
12.7 生成與執行代碼251
12.8 展望251
12.8.1 機器學習252
12.8.2 Connectome252
12.9 本章小結253
12.10 simpleVBO.cpp文件253
參考文獻258
術語錶265
· · · · · · (收起)

讀後感

評分

比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去

評分

推荐有一定基础的同学阅读本书。 书里面设计了各种cuda的应用,如机器学习; 而且设计到多GPU, MPI+GPU 还有OpenGL+GPU等比较前沿的应用领域。 因此,该书适合已了解cuda及并行计算之后,去进行知识扩展。 同时,由于该书设计内容广泛,每一章讲述也相对比较泛,而且有些...  

評分

这本书不适合初学者,因为内容有一定深度,适合有一定基础的CUDA开发者进行代码优化阶段的提高工具。 初学者还是推荐使用《GPU高性能编程 CUDA实战》那本书,那本书上手快,对于深层问题做了较好的省略。等学完那本薄册子再来读这个,效果就会很好了。  

評分

比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去

評分

比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去 比较偏工程一些,但是太宽泛,没有深入下去

用戶評價

评分

講瞭一些概念性的東西,例子也並未多作解釋,想要上手CUDA編程還是得去看NVIDIA文檔。但有概念不明白瞭,可以再來看看這個

评分

適閤有基礎的同學做代碼優化時使用

评分

好是好,但是感覺太浮光掠影瞭些

评分

好是好,但是感覺太浮光掠影瞭些

评分

講瞭一些概念性的東西,例子也並未多作解釋,想要上手CUDA編程還是得去看NVIDIA文檔。但有概念不明白瞭,可以再來看看這個

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有