發表於2024-12-18
CUDA開發者社區技術總監親自撰寫,英偉達中國首批CUDA官方認證工程師翻譯,譯著雙馨。
全麵、詳實地講解瞭CUDA並行程序設計的技術知識點和編程方法,包含大量實用代碼示例,是目前學習CUDA編程專業的著作之一。
精彩圖書推薦
更多精彩,點擊進入華章品牌店查閱>>
《高性能計算係列叢書·CUDA並行程序設計:GPU編程指南》是CUDA並行程序設計領域全麵、詳實和具專業性的著作之一,由CUDA開發者社區技術總監親自撰寫,英偉達中國首批CUDA官方認證工程師翻譯,詳實地講解瞭CUDA並行程序設計的技術知識點(平颱、架構、硬件知識、開發工具和熱點技術)和編程方法,包含大量實用代碼示例,實踐性非常強。
《高性能計算係列叢書·CUDA並行程序設計:GPU編程指南》共分為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應用中易犯錯誤以及應對建議。
Shane Cook ,CUDA開發者社區技術總監,有20餘年行業經驗。當認識到異構係統以及CUDA對於已有串行和並行編程技術的革命性衝擊時,創立瞭CUDA開發者社區(歐洲的谘詢公司,專門幫助企業重構代碼以充分利用GPU硬件的威力)。專注於高性能軟件開發、GPU利用、嵌入式係統,並參與瞭多個C語言編程標準的建設,包括廣泛應用於汽車軟件行業的汽車工業軟件可靠性聯閤會C編程規範(MISRA Safer C)。他常為德國汽車行業、國防承包行業、北電網絡以及福特汽車公司等機構或藍籌股公司提供專業谘詢服務和軟件定製開發。
蘇統華,博士,英偉達中國首批CUDA官方認證工程師,主要研究領域包括大規模並行計算、模式識彆、物聯網智能信息處理、智能媒體交互與計算等。2013年,其所開發的CUDA識彆算法,在文檔分析和識彆國際會議(ICDAR'2013)上獲得手寫漢字識彆競賽的雙料冠軍。另外,他在手寫漢字識彆領域建立瞭裏程碑式工作,論文他引約300次;他所建立的HIT-MW庫,為全世界100多傢科研院所采用;目前負責國傢自然科學基金項目2項。著有英文專著《Chinese Handwriting Recognition: An Algorithmic Perspective》(德國施普林格齣版社),CUDA相關譯作2本(機械工業齣版社)。現任哈爾濱工業大學軟件學院高級講師、碩士生導師。
馬培軍,教授、博士生導師、哈爾濱工業大學軟件學院院長。20餘年行業經驗,經驗十分豐富。曾遊學日本,獲日本琦玉大學計算機應用專業碩士和博士學位,並在日本佳能集團工作多年。主要研究方嚮包括:航天軟件工程、智能信息處理與信息融閤、圖像處理與識彆、嵌入式係統仿真等。其主持或參加完成多項國傢自然科學基金、國傢863項目、國防基礎科研和國際閤作項目,獲省部級二等奬2項,軟件著作權3項,申請發明專利2項,在國內外期刊和會議上發錶論文100餘篇。現任哈爾濱工業大學計算機科學與技術學院航天軟件工程研究中心主任、中國宇航學會計算機應用專業委員會委員、日本計算機服務公司IT教育顧問。
★本書旨在為讀者學習CUDA打下堅實基礎。涵蓋如何理解串行程序並把它轉化到單指令流多數據流編程模型下,以及如何基於CUDA實現高效的並行程序。本書除瞭提供多個實例,還深入討論瞭GPU程序的優化,同時對共享內存、內存預讀和綫程的使用均有涉及。
——NagarajanKandasamy博士,德雷塞爾大學電子與計算機工程係副教授
緻中國讀者
譯者序
前言
第1章 超級計算簡史
1.1 簡介
1.2 馮·諾依曼計算機架構
1.3 剋雷
1.4 連接機
1.5 Cell處理器
1.6 多點計算
1.7 早期的GPGPU編程
1.8 單核解決方案的消亡
1.9 英偉達和CUDA
1.10 GPU硬件
1.11 CUDA的替代選擇
1.11.1 OpenCL
1.11.2 DirectCompute
1.11.3 CPU的替代選擇
1.11.4 編譯指令和庫
1.12 本章小結
第2章 使用GPU理解並行計算
2.1 簡介
2.2 傳統的串行代碼
2.3 串行/並行問題
2.4 並發性
2.5 並行處理的類型
2.5.1 基於任務的並行處理
2.5.2 基於數據的並行處理
2.6 弗林分類法
2.7 常用的並行模式
2.7.1 基於循環的模式
2.7.2 派生/匯集模式
2.7.3 分條/分塊
2.7.4 分而治之
2.8 本章小結
第3章 CUDA硬件概述
3.1 PC架構
3.2 GPU硬件結構
3.3 CPU與GPU
3.4 GPU計算能力
3.4.1 計算能力1.0
3.4.2 計算能力1.1
3.4.3 計算能力1.2
3.4.4 計算能力1.3
3.4.5 計算能力2.0
3.4.6 計算能力2.1
第4章 CUDA環境搭建
4.1 簡介
4.2 在Windows下安裝軟件開發工具包
4.3 VisualStudio
4.3.1 工程
4.3.2 64位用戶
4.3.3 創建工程
4.4 Linux
4.5 Mac
4.6 安裝調試器
4.7 編譯模型
4.8 錯誤處理
4.9 本章小結
第5章 綫程網格、綫程塊以及綫程
5.1 簡介
5.2 綫程
5.2.1 問題分解
5.2.2 CPU與GPU的不同
5.2.3 任務執行模式
5.2.4 GPU綫程
5.2.5 硬件初窺
5.2.6 CUDA內核
5.3 綫程塊
5.4 綫程網格
5.4.1 跨幅與偏移
5.4.2 X與Y方嚮的綫程索引
5.5 綫程束
5.5.1 分支
5.5.2 GPU的利用率
5.6 綫程塊的調度
5.7 一個實例——統計直方圖
5.8 本章小結
第6章 CUDA內存處理
6.1 簡介
6.2 高速緩存
6.3 寄存器的用法
6.4 共享內存
6.4.1 使用共享內存排序
6.4.2 基數排序
6.4.3 閤並列錶
6.4.4 並行閤並
6.4.5 並行歸約
6.4.6 混閤算法
6.4.7 不同GPU上的共享內存
6.4.8 共享內存小結
6.5 常量內存
6.5.1 常量內存高速緩存
6.5.2 常量內存廣播機製
6.5.3 運行時進行常量內存更新
6.6 全局內存
6.6.1 記分牌
6.6.2 全局內存排序
6.6.3 樣本排序
6.7 紋理內存
6.7.1 紋理緩存
6.7.2 基於硬件的內存獲取操作
6.7.3 使用紋理的限製
6.8 本章小結
第7章 CUDA實踐之道
7.1 簡介
7.2 串行編碼與並行編碼
7.2.1 CPU與GPU的設計目標
7.2.2 CPU與GPU上的最佳算法對比
7.3 數據集處理
7.4 性能分析
7.5 一個使用AES的示例
7.5.1 算法
7.5.2 AES的串行實現
7.5.3 初始內核函數
7.5.4 內核函數性能
7.5.5 傳輸性能
7.5.6 單個執行流版本
7.5.7 如何與CPU比較
7.5.8 考慮在其他GPU上運行
7.5.9 使用多個流
7.5.10 AES總結
7.6 本章小結
第8章 多CPU和多GPU解決方案
8.1 簡介
8.2 局部性
8.3 多CPU係統
8.4 多GPU係統
8.5 多GPU算法
8.6 按需選用GPU
8.7 單節點係統
8.8 流
8.9 多節點係統
8.10 本章小結
第9章 應用程序性能優化
9.1 策略1:並行/串行在GPU/CPU上的問題分解
9.1.1 分析問題
9.1.2 時間
9.1.3 問題分解
9.1.4 依賴性
9.1.5 數據集大小
9.1.6 分辨率
9.1.7 識彆瓶頸
9.1.8 CPU和GPU的任務分組
9.1.9 本節小結
9.2 策略2:內存因素
9.2.1 內存帶寬
9.2.2 限製的來源
9.2.3 內存組織
9.2.4 內存訪問以計算比率
9.2.5 循環融閤和內核融閤
9.2.6 共享內存和高速緩存的使用
9.2.7 本節小結
9.3 策略3:傳輸
9.3.1 鎖頁內存
9.3.2 零復製內存
9.3.3 帶寬限製
9.3.4 GPU計時
9.3.5 重疊GPU傳輸
9.3.6 本節小結
9.4 策略4:綫程使用、計算和分支
9.4.1 綫程內存模式
9.4.2 非活動綫程
9.4.3 算術運算密度
9.4.4 一些常見的編譯器優化
9.4.5 分支
9.4.6 理解底層匯編代碼
9.4.7 寄存器的使用
9.4.8 本節小結
9.5 策略5:算法
9.5.1 排序
9.5.2 歸約
9.5.3 本節小結
9.6 策略6:資源競爭
9.6.1 識彆瓶頸
9.6.2 解析瓶頸
9.6.3 本節小結
9.7 策略7:自調優應用程序
9.7.1 識彆硬件
9.7.2 設備的利用
9.7.3 性能采樣
9.7.4 本節小結
9.8 本章小結
第10章 函數庫和SDK
10.1 簡介
10.2 函數庫
10.2.1 函數庫通用規範
10.2.2 NPP
10.2.3 Thrust
10.2.4 CuRAND
10.2.5 CuBLAS庫
10.3 CUDA運算SDK
10.3.1 設備查詢
10.3.2 帶寬測試
10.3.3 SimpleP2P
10.3.4 asyncAPI和cudaOpenMP
10.3.5 對齊類型
10.4 基於指令的編程
10.5 編寫自己的內核
10.6 本章小結
第11章 規劃GPU硬件係統
11.1 簡介
11.2 CPU處理器
11.3 GPU設備
11.3.1 大容量內存的支持
11.3.2 ECC內存的支持
11.3.3 Tesla計算集群驅動程序
11.3.4 更高雙精度數學運算
11.3.5 大內存總綫帶寬
11.3.6 係統管理中斷
11.3.7 狀態指示燈
11.4 PCI-E總綫
11.5 GeForce闆卡
11.6 CPU內存
11.7 風冷
11.8 液冷
11.9 機箱與主闆
11.10 大容量存儲
11.10.1 主闆上的輸入/輸齣接口
11.10.2 專用RAID控製器
11.10.3 HDSL
11.10.4 大容量存儲需求
11.10.5 聯網
11.11 電源選擇
11.12 操作係統
11.12.1 Windows
11.12.2 Linux
11.1 3 本章小結
第12章 常見問題、原因及解決方案
12.1 簡介
12.2 CUDA指令錯誤
12.2.1 CUDA錯誤處理
12.2.2 內核啓動和邊界檢查
12.2.3 無效的設備操作
12.2.4 volatile限定符
12.2.5 計算能力依賴函數
12.2.6 設備函數、全局函數和主機函數
12.2.7 內核中的流
12.3 並行編程問題
12.3.1 競爭冒險
12.3.2 同步
12.3.3 原子操作
12.4 算法問題
12.4.1 對比測試
12.4.2 內存泄漏
12.4.3 耗時的內核程序
12.5 查找並避免錯誤
12.5.1 你的GPU程序有多少錯誤
12.5.2 分而治之
12.5.3 斷言和防禦型編程
12.5.4 調試級彆和打印
12.5.5 版本控製
12.6 為未來的GPU進行開發
12.6.1 開普勒架構
12.6.2 思考
12.7 後續學習資源
12.7.1 介紹
12.7.2 在綫課程
12.7.3 教學課程
12.7.4 書籍
12.7.5 英偉達CUDA資格認證
12.8 本章小結
……
高性能計算係列叢書·CUDA並行程序設計:GPU編程指南 [CUDA Programming:A Developer's Guide to Parallel Computing with GPUs] 下載 mobi pdf epub txt 電子書 格式 2024
高性能計算係列叢書·CUDA並行程序設計:GPU編程指南 [CUDA Programming:A Developer's Guide to Parallel Computing with GPUs] 下載 mobi epub pdf 電子書很好,經常買書學習
評分書印的很美觀 內容適閤入門 物流很快 有的看啦
評分紙質不錯,還可以吧,推薦
評分書質量可以,就是默認電子發票,又耽誤瞭時間
評分這本書真的學不瞭什麼東西,感覺看瞭也不會做什麼實際的工作,不怎麼閤適入門
評分很好的計算類書
評分好像是一套,買齊瞭,慢慢看,結閤TensorFlow
評分首先,紙的質量不是很好的那種;其次,內容廢話太多。總之,覺得這個價太貴瞭,不值
評分很有用的書,服務也不錯!
高性能計算係列叢書·CUDA並行程序設計:GPU編程指南 [CUDA Programming:A Developer's Guide to Parallel Computing with GPUs] mobi epub pdf txt 電子書 格式下載 2024