-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

CUDA并行程序設計:GPU編程指南

( 簡體 字)
作者:(美)Shane類別:1. -> 教材 -> 數位影像處理
譯者:
出版社:機械工業出版社CUDA并行程序設計:GPU編程指南 3dWoo書號: 37382
詢問書籍請說出此書號!

缺書
NT售價: 495

出版日:1/28/2014
頁數:536
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111448617
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

(CUDA社區技術總監撰寫,英偉達官方認證工程師翻譯)
本書是CUDA并行程序設計領域最全面、最詳實和最具權威性的著作之一,由CUDA開發者社區技術總監親自撰寫,英偉達中國首批CUDA官方認證工程師翻譯,詳實地講解了CUDA并行程序設計的技術知識點(平臺、架構、硬件知識、開發工具和熱點技術)和編程方法,包含大量實用代碼示例,實踐性非常強。
全書共分為12章。第1章從宏觀上介紹流處理器演變歷史。第2章詳解GPU并行機制,深入理解串行與并行程序,以辯證地求解問題。第3章講解CUDA設備及相關的硬件和體系結構,以實現最優CUDA程序性能。第4章介紹CUDA開發環境搭建和可用調試環境。第5章介紹與CUDA編程緊密相關的核心概念——網格、線程塊與線程,并通過示例說明線程模型與性能的關系。第6章借助實例詳細講解了不同類型內存的工作機制,并指出實踐中容易出現的誤區。第7章細述多任務的CPU和GPU協同,并介紹多個CPU/GPU編程秘技。第8章介紹如何在應用程序中編寫和使用多GPU。第9章詳述CUDA編程性能限制因素、分析CUDA代碼的工具和技術。第10章介紹編程實踐中的庫與軟件開發工具包。第11章講解如何設計基于GPU的系統。第12章總結CUDA應用中易犯錯誤以及應對建議。
目錄:

目錄
致中國讀者
譯者序
前 言
第1章 超級計算簡史 1
1.1 簡介 1
1.2 馮?諾依曼計算機架構 2
1.3 克雷 4
1.4 連接機 5
1.5 Cell處理器 6
1.6 多點計算 8
1.7 早期的GPGPU編程 10
1.8 單核解決方案的消亡 11
1.9 英偉達和CUDA 12
1.10 GPU硬件 13
1.11 CUDA的替代選擇 15
1.11.1 OpenCL 15
1.11.2 DirectCompute 16
1.11.3 CPU的替代選擇 16
1.11.4 編譯指令和庫 17
1.12 本章小結 18
第2章 使用GPU理解并行計算 19
2.1 簡介 19
2.2 傳統的串行代碼 19
2.3 串行/并行問題 21
2.4 并發性 22
2.5 并行處理的類型 25
2.5.1 基于任務的并行處理 25
2.5.2 基于數據的并行處理 27
2.6 弗林分類法 29
2.7 常用的并行模式 30
2.7.1 基于循環的模式 30
2.7.2 派生/匯集模式 31
2.7.3 分條/分塊 33
2.7.4 分而治之 34
2.8 本章小結 34
第3章 CUDA硬件概述 35
3.1 PC架構 35
3.2 GPU硬件結構 39
3.3 CPU與GPU 41
3.4 GPU計算能力 42
3.4.1 計算能力1.0 42
3.4.2 計算能力1.1 43
3.4.3 計算能力1.2 44
3.4.4 計算能力1.3 44
3.4.5 計算能力2.0 44
3.4.6 計算能力2.1 46
第4章 CUDA環境搭建 48
4.1 簡介 48
4.2 在Windows下安裝軟件開發工具包 48
4.3 Visual Studio 49
4.3.1 工程 49
4.3.2 64位用戶 49
4.3.3 創建工程 51
4.4 Linux 52
4.5 Mac 55
4.6 安裝調試器 56
4.7 編譯模型 58
4.8 錯誤處理 59
4.9 本章小結 60
第5章 線程網格、線程塊以及線程 61
5.1 簡介 61
5.2 線程 61
5.2.1 問題分解 62
5.2.2 CPU與GPU的不同 63
5.2.3 任務執行模式 64
5.2.4 GPU線程 64
5.2.5 硬件初窺 66
5.2.6 CUDA內核 69
5.3 線程塊 70
5.4 線程網格 74
5.4.1 跨幅與偏移 76
5.4.2 X與Y方向的線程索引 77
5.5 線程束 83
5.5.1 分支 83
5.5.2 GPU的利用率 85
5.6 線程塊的調度 88
5.7 一個實例——統計直方圖 89
5.8 本章小結 96
第6章 CUDA內存處理 99
6.1 簡介 99
6.2 高速緩存 100
6.3 寄存器的用法 103
6.4 共享內存 112
6.4.1 使用共享內存排序 113
6.4.2 基數排序 117
6.4.3 合并列表 123
6.4.4 并行合并 128
6.4.5 并行歸約 131
6.4.6 混合算法 134
6.4.7 不同GPU上的共享內存 138
6.4.8 共享內存小結 139
6.5 常量內存 140
6.5.1 常量內存高速緩存 140
6.5.2 常量內存廣播機制 142
6.5.3 運行時進行常量內存更新 152
6.6 全局內存 157
6.6.1 記分牌 165
6.6.2 全局內存排序 165
6.6.3 樣本排序 168
6.7 紋理內存 188
6.7.1 紋理緩存 188
6.7.2 基于硬件的內存獲取操作 189
6.7.3 使用紋理的限制 190
6.8 本章小結 190
第7章 CUDA實踐之道 191
7.1 簡介 191
7.2 串行編碼與并行編碼 191
7.2.1 CPU與GPU的設計目標 191
7.2.2 CPU與GPU上的最佳算法對比 194
7.3 數據集處理 197
7.4 性能分析 206
7.5 一個使用AES的示例 218
7.5.1 算法 219
7.5.2 AES的串行實現 223
7.5.3 初始內核函數 224
7.5.4 內核函數性能 229
7.5.5 傳輸性能 233
7.5.6 單個執行流版本 234
7.5.7 如何與CPU比較 235
7.5.8 考慮在其他GPU上運行 244
7.5.9 使用多個流 248
7.5.10 AES總結 249
7.6 本章小結 249
第8章 多CPU和多GPU解決方案 252
8.1 簡介 252
8.2 局部性 252
8.3 多CPU系統 252
8.4 多GPU系統 253
8.5 多GPU算法 254
8.6 按需選用GPU 255
8.7 單節點系統 258
8.8 流 259
8.9 多節點系統 273
8.10 本章小結 284
第9章 應用程序性能優化 286
9.1 策略1:并行/串行在GPU/CPU上的問題分解 286
9.1.1 分析問題 286
9.1.2 時間 286
9.1.3 問題分解 288
9.1.4 依賴性 289
9.1.5 數據集大小 292
9.1.6 分辨率 293
9.1.7 識別瓶頸 294
9.1.8 CPU和GPU的任務分組 297
9.1.9 本節小結 299
9.2 策略2:內存因素 299
9.2.1 內存帶寬 299
9.2.2 限制的來源 300
9.2.3 內存組織 302
9.2.4 內存訪問以計算比率 303
9.2.5 循環融合和內核融合 308
9.2.6 共享內存和高速緩存的使用 309
9.2.7 本節小結 311
9.3 策略3:傳輸 311
9.3.1 鎖頁內存 311
9.3.2 零復制內存 315
9.3.3 帶寬限制 322
9.3.4 GPU計時 327
9.3.5 重疊GPU傳輸 330
9.3.6 本節小結 334
9.4 策略4:線程使用、計算和分支 335
9.4.1 線程內存模式 335
9.4.2 非活動線程 337
9.4.3 算術運算密度 338
9.4.4 一些常見的編譯器優化 342
9.4.5 分支 347
9.4.6 理解底層匯編代碼 351
9.4.7 寄存器的使用 355
9.4.8 本節小結 357
9.5 策略5:算法 357
9.5.1 排序 358
9.5.2 歸約 363
9.5.3 本節小結 384
9.6 策略6:資源競爭 384
9.6.1 識別瓶頸 384
9.6.2 解析瓶頸 396
9.6.3 本節小結 403
9.7 策略7:自調優應用程序 403
9.7.1 識別硬件 404
9.7.2 設備的利用 405
9.7.3 性能采樣 407
9.7.4 本節小結 407
9.8 本章小結 408
第10章 函數庫和SDK 410
10.1 簡介 410
10.2 函數庫 410
10.2.1 函數庫通用規范 411
10.2.2 NPP 411
10.2.3 Thrust 419
10.2.4 CuRAND 434
10.2.5 CuBLAS庫 438
10.3 CUDA運算SDK 442
10.3.1 設備查詢 443
10.3.2 帶寬測試 445
10.3.3 SimpleP2P 446
10.3.4 asyncAPI和cudaOpenMP 448
10.3.5 對齊類型 455
10.4 基于指令的編程 457
10.5 編寫自己的內核 464
10.6 本章小結 466
第11章 規劃GPU硬件系統 467
11.1 簡介 467
11.2 CPU處理器 469
11.3 GPU設備 470
11.3.1 大容量內存的支持 471
11.3.2 ECC內存的支持 471
11.3.3 Tesla計算集群驅動程序 471
11.3.4 更高雙精度數學運算 472
11.3.5 大內存總線帶寬 472
11.3.6 系統管理中斷 472
11.3.7 狀態指示燈 472
11.4 PCI-E總線 472
11.5 GeForce板卡 473
11.6 CPU內存 474
11.7 風冷 475
11.8 液冷 477
11.9 機箱與主板 479
11.10 大容量存儲 481
11.10.1 主板上的輸入/輸出接口 481
11.10.2 專用RAID控制器 481
11.10.3 HDSL 483
11.10.4 大容量存儲需求 483
11.10.5 聯網 483
11.11 電源選擇 484
11.12 操作系統 487
11.12.1 Windows 487
11.12.2 Linux 488
11.13 本章小結 488
第12章 常見問題、原因及解決方案 489
12.1 簡介 489
12.2 CUDA指令錯誤 489
12.2.1 CUDA錯誤處理 489
12.2.2 內核啟動和邊界檢查 490
12.2.3 無效的設備操作 491
12.2.4 volatile限定符 492
12.2.5 計算能力依賴函數 494
12.2.6 設備函數、全局函數和主機函數 495
12.2.7 內核中的流 496
12.3 并行編程問題 497
12.3.1 競爭冒險 497
12.3.2 同步 498
12.3.3 原子操作 502
12.4 算法問題 504
12.4.1 對比測試 504
12.4.2 內存泄漏 506
12.4.3 耗時的內核程序 506
12.5 查找并避免錯誤 507
12.5.1 你的GPU程序有多少錯誤 507
12.5.2 分而治之 508
12.5.3 斷言和防御型編程 509
12.5.4 調試級別和打印 511
12.5.5 版本控制 514
12.6 為未來的GPU進行開發 515
12.6.1 開普勒架構 515
12.6.2 思考 518
12.7 后續學習資源 519
12.7.1 介紹 519
12.7.2 在線課程 519
12.7.3 教學課程 520
12.7.4 書籍 521
12.7.5 英偉達CUDA資格認證 521
12.8 本章小結 522
序: