注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合CUDA并行程序設(shè)計(jì):GPU編程指南

CUDA并行程序設(shè)計(jì):GPU編程指南

CUDA并行程序設(shè)計(jì):GPU編程指南

定 價(jià):¥99.00

作 者: (美)Shane Cook 著,蘇統(tǒng)華,李東,李松澤 等譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 高性能計(jì)算系列叢書
標(biāo) 簽: 計(jì)算機(jī)/網(wǎng)絡(luò) 計(jì)算機(jī)體系結(jié)構(gòu)

ISBN: 9787111448617 出版時(shí)間: 2014-01-01 包裝: 平裝
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

  Shane Cook CUDA開發(fā)者社區(qū)技術(shù)總監(jiān),有20余年行業(yè)經(jīng)驗(yàn)。當(dāng)認(rèn)識到異構(gòu)系統(tǒng)以及CUDA對于已有串行和并行編程技術(shù)的革命性沖擊時(shí),創(chuàng)立了CUDA開發(fā)者社區(qū)(歐洲的咨詢公司,專門幫助企業(yè)重構(gòu)代碼以充分利用GPU硬件的威力)。他專注于高性能軟件開發(fā)、GPU利用、嵌入式系統(tǒng),并參與了多個(gè)C語言編程標(biāo)準(zhǔn)的建設(shè),包括廣泛應(yīng)用于汽車軟件行業(yè)的汽車工業(yè)軟件MISRA Safer C。他常為德國汽車行業(yè)、國防承包行業(yè)、北電網(wǎng)絡(luò)以及福特汽車公司等機(jī)構(gòu)或藍(lán)籌股公司提供專業(yè)咨詢服務(wù)和軟件定制開發(fā)。譯者簡介蘇統(tǒng)華 博士,英偉達(dá)中國首批CUDA官方認(rèn)證工程師,主要研究領(lǐng)域包括大規(guī)模并行計(jì)算、模式識別、物聯(lián)網(wǎng)智能信息處理、智能媒體交互與計(jì)算等。2013年,其所開發(fā)的CUDA識別算法,在文檔分析和識別國際會議(ICDAR’ 2013)上獲得手寫漢字識別競賽的雙料冠軍。另外,他在手寫漢字識別領(lǐng)域建立了里程碑式的工作,論文他引300余次;他所建立的HIT-MW庫,為全世界100多家科研院所采用;目前負(fù)責(zé)國家自然科學(xué)基金項(xiàng)目2項(xiàng)。著有英文專著《Chinese Handwriting Recognition: An Algorithmic Perspective》(德國施普林格出版社),CUDA相關(guān)譯作2本(機(jī)械工業(yè)出版社)。現(xiàn)任哈爾濱工業(yè)大學(xué)軟件學(xué)院高級講師、碩士生導(dǎo)師。

圖書目錄

致中國讀者
譯者序
前言
第1章  超級計(jì)算簡史
1.1  簡介
1.2  馮·諾依曼計(jì)算機(jī)架構(gòu)
1.3  克雷
1.4  連接機(jī)
1.5  Cell處理器
1.6  多點(diǎn)計(jì)算
1.7  早期的GPGPU編程
1.8  單核解決方案的消亡
1.9  英偉達(dá)和CUDA
1.10  GPU硬件
1.11  CUDA的替代選擇
1.11.1  OpenCL
1.11.2  DirectCompute
1.11.3  CPU的替代選擇
1.11.4  編譯指令和庫
1.12  本章小結(jié)
第2章  使用GPU理解并行計(jì)算
2.1  簡介
2.2  傳統(tǒng)的串行代碼
2.3  串行/并行問題
2.4  并發(fā)性
2.5  并行處理的類型
2.5.1  基于任務(wù)的并行處理
2.5.2  基于數(shù)據(jù)的并行處理
2.6  弗林分類法
2.7  常用的并行模式
2.7.1  基于循環(huán)的模式
2.7.2  派生/匯集模式
2.7.3  分條/分塊
2.7.4  分而治之
2.8  本章小結(jié)
第3章  CUDA硬件概述
3.1  PC架構(gòu)
3.2  GPU硬件結(jié)構(gòu)
3.3  CPU與GPU
3.4  GPU計(jì)算能力
3.4.1  計(jì)算能力1.0 
3.4.2  計(jì)算能力1.1 
3.4.3  計(jì)算能力1.2 
3.4.4  計(jì)算能力1.3 
3.4.5  計(jì)算能力2.0 
3.4.6  計(jì)算能力2.1 
第4章  CUDA環(huán)境搭建
4.1  簡介
4.2  在Windows下安裝軟件開發(fā)工具包
4.3  VisualStudio
4.3.1  工程
4.3.2  64位用戶
4.3.3  創(chuàng)建工程
4.4  Linux
4.5  Mac
4.6  安裝調(diào)試器
4.7  編譯模型
4.8  錯(cuò)誤處理
4.9  本章小結(jié)
第5章  線程網(wǎng)格、線程塊以及線程
5.1  簡介
5.2  線程
5.2.1  問題分解
5.2.2  CPU與GPU的不同
5.2.3  任務(wù)執(zhí)行模式
5.2.4  GPU線程
5.2.5  硬件初窺
5.2.6  CUDA內(nèi)核
5.3  線程塊
5.4  線程網(wǎng)格
5.4.1  跨幅與偏移
5.4.2  X與Y方向的線程索引
5.5  線程束
5.5.1  分支
5.5.2  GPU的利用率
5.6  線程塊的調(diào)度
5.7  一個(gè)實(shí)例——統(tǒng)計(jì)直方圖
5.8  本章小結(jié)
第6章  CUDA內(nèi)存處理
6.1  簡介
6.2  高速緩存
6.3  寄存器的用法
6.4  共享內(nèi)存
6.4.1  使用共享內(nèi)存排序
6.4.2  基數(shù)排序
6.4.3  合并列表
6.4.4  并行合并
6.4.5  并行歸約
6.4.6  混合算法
6.4.7  不同GPU上的共享內(nèi)存
6.4.8  共享內(nèi)存小結(jié)
6.5  常量內(nèi)存
6.5.1  常量內(nèi)存高速緩存
6.5.2  常量內(nèi)存廣播機(jī)制
6.5.3  運(yùn)行時(shí)進(jìn)行常量內(nèi)存更新
6.6  全局內(nèi)存
6.6.1  記分牌
6.6.2  全局內(nèi)存排序
6.6.3  樣本排序
6.7  紋理內(nèi)存
6.7.1  紋理緩存
6.7.2  基于硬件的內(nèi)存獲取操作
6.7.3  使用紋理的限制
6.8  本章小結(jié)
第7章  CUDA實(shí)踐之道
7.1  簡介
7.2  串行編碼與并行編碼
7.2.1  CPU與GPU的設(shè)計(jì)目標(biāo)
7.2.2  CPU與GPU上的最佳算法對比
7.3  數(shù)據(jù)集處理
7.4  性能分析
7.5  一個(gè)使用AES的示例
7.5.1  算法
7.5.2  AES的串行實(shí)現(xiàn)
7.5.3  初始內(nèi)核函數(shù)
7.5.4  內(nèi)核函數(shù)性能
7.5.5  傳輸性能
7.5.6  單個(gè)執(zhí)行流版本
7.5.7  如何與CPU比較
7.5.8  考慮在其他GPU上運(yùn)行
7.5.9  使用多個(gè)流
7.5.10  AES總結(jié)
7.6  本章小結(jié)
第8章  多CPU和多GPU解決方案
8.1  簡介
8.2  局部性
8.3  多CPU系統(tǒng)
8.4  多GPU系統(tǒng)
8.5  多GPU算法
8.6  按需選用GPU
8.7  單節(jié)點(diǎn)系統(tǒng)
8.8  流
8.9  多節(jié)點(diǎn)系統(tǒng)
8.10  本章小結(jié)
第9章  應(yīng)用程序性能優(yōu)化
9.1  策略1:并行/串行在GPU/CPU上的問題分解
9.1.1  分析問題
9.1.2  時(shí)間
9.1.3  問題分解
9.1.4  依賴性
9.1.5  數(shù)據(jù)集大小
9.1.6  分辨率
9.1.7  識別瓶頸
9.1.8  CPU和GPU的任務(wù)分組
9.1.9  本節(jié)小結(jié)
9.2  策略2:內(nèi)存因素
9.2.1  內(nèi)存帶寬
9.2.2  限制的來源
9.2.3  內(nèi)存組織
9.2.4  內(nèi)存訪問以計(jì)算比率
9.2.5  循環(huán)融合和內(nèi)核融合
9.2.6  共享內(nèi)存和高速緩存的使用
9.2.7  本節(jié)小結(jié)
9.3  策略3:傳輸
9.3.1  鎖頁內(nèi)存
9.3.2  零復(fù)制內(nèi)存
9.3.3  帶寬限制
9.3.4  GPU計(jì)時(shí)
9.3.5  重疊GPU傳輸
9.3.6  本節(jié)小結(jié)
9.4  策略4:線程使用、計(jì)算和分支
9.4.1  線程內(nèi)存模式
9.4.2  非活動線程
9.4.3  算術(shù)運(yùn)算密度
9.4.4  一些常見的編譯器優(yōu)化
9.4.5  分支
9.4.6  理解底層匯編代碼
9.4.7  寄存器的使用
9.4.8  本節(jié)小結(jié)
9.5  策略5:算法
9.5.1  排序
9.5.2  歸約
9.5.3  本節(jié)小結(jié)
9.6  策略6:資源競爭
9.6.1  識別瓶頸
9.6.2  解析瓶頸
9.6.3  本節(jié)小結(jié)
9.7  策略7:自調(diào)優(yōu)應(yīng)用程序
9.7.1  識別硬件
9.7.2  設(shè)備的利用
9.7.3  性能采樣
9.7.4  本節(jié)小結(jié)
9.8  本章小結(jié)
第10章  函數(shù)庫和SDK
10.1  簡介
10.2  函數(shù)庫
10.2.1  函數(shù)庫通用規(guī)范
10.2.2  NPP
10.2.3  Thrust
10.2.4  CuRAND
10.2.5  CuBLAS庫
10.3  CUDA運(yùn)算SDK
10.3.1  設(shè)備查詢
10.3.2  帶寬測試
10.3.3  SimpleP2P
10.3.4  asyncAPI和cudaOpenMP
10.3.5  對齊類型
10.4  基于指令的編程
10.5  編寫自己的內(nèi)核
10.6  本章小結(jié)
第11章  規(guī)劃GPU硬件系統(tǒng)
11.1  簡介
11.2  CPU處理器
11.3  GPU設(shè)備
11.3.1  大容量內(nèi)存的支持
11.3.2  ECC內(nèi)存的支持
11.3.3  Tesla計(jì)算集群驅(qū)動程序
11.3.4  更高雙精度數(shù)學(xué)運(yùn)算
11.3.5  大內(nèi)存總線帶寬
11.3.6  系統(tǒng)管理中斷
11.3.7  狀態(tài)指示燈
11.4  PCI-E總線
11.5  GeForce板卡
11.6  CPU內(nèi)存
11.7  風(fēng)冷
11.8  液冷
11.9  機(jī)箱與主板
11.10  大容量存儲
11.10.1  主板上的輸入/輸出接口
11.10.2  專用RAID控制器
11.10.3  HDSL
11.10.4  大容量存儲需求
11.10.5  聯(lián)網(wǎng)
11.11  電源選擇
11.12  操作系統(tǒng)
11.12.1  Windows
11.12.2  Linux
11.1  3  本章小結(jié)
第12章  常見問題、原因及解決方案
12.1  簡介
12.2  CUDA指令錯(cuò)誤
12.2.1  CUDA錯(cuò)誤處理
12.2.2  內(nèi)核啟動和邊界檢查
12.2.3  無效的設(shè)備操作
12.2.4  volatile限定符
12.2.5  計(jì)算能力依賴函數(shù)
12.2.6  設(shè)備函數(shù)、全局函數(shù)和主機(jī)函數(shù)
12.2.7  內(nèi)核中的流
12.3  并行編程問題
12.3.1  競爭冒險(xiǎn)
12.3.2  同步
12.3.3  原子操作
12.4  算法問題
12.4.1  對比測試
12.4.2  內(nèi)存泄漏
12.4.3  耗時(shí)的內(nèi)核程序
12.5  查找并避免錯(cuò)誤
12.5.1  你的GPU程序有多少錯(cuò)誤
12.5.2  分而治之
12.5.3  斷言和防御型編程
12.5.4  調(diào)試級別和打印
12.5.5  版本控制
12.6  為未來的GPU進(jìn)行開發(fā)
12.6.1  開普勒架構(gòu)
12.6.2  思考
12.7  后續(xù)學(xué)習(xí)資源
12.7.1  介紹
12.7.2  在線課程
12.7.3  教學(xué)課程
12.7.4  書籍
12.7.5  英偉達(dá)CUDA資格認(rèn)證
12.8  本章小結(jié)
……

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號