GPU高性能運(yùn)算之CUDA

出版時(shí)間:2009-10  出版社:水利水電出版社  作者:張舒,褚艷利 主編  頁數(shù):276  字?jǐn)?shù):438000  
Tag標(biāo)簽:無  

前言

CUDA是NVIDIA公司于2007年推出的GPU通用計(jì)算產(chǎn)品。CUDA能夠有效利用GPU強(qiáng)勁的處理能力和巨大的存儲(chǔ)器帶寬進(jìn)行圖形渲染以外的計(jì)算,廣泛應(yīng)用于圖像處理、視頻播放、信號(hào)處理、人工智能、模式識(shí)別、金融分析、數(shù)值計(jì)算、石油勘探、天文計(jì)算、流體力學(xué)計(jì)算、生物計(jì)算、分子動(dòng)力學(xué)計(jì)算、數(shù)據(jù)庫管理、編碼加密等領(lǐng)域,并在這些應(yīng)用中對(duì)CPU獲得了一到兩個(gè)數(shù)量級(jí)的加速,取得了令人矚目的成績。CUDA在產(chǎn)業(yè)界和學(xué)術(shù)界引發(fā)了巨大反響,目前已有Adobe、Autodesk、HP、聯(lián)想、浪潮等國內(nèi)外著名企業(yè)推出了基于CUDA的產(chǎn)品;哈佛、伯克利、清華等大批國內(nèi)外高校也開設(shè)了相關(guān)課程,將CUDA作為一種典型的并行系統(tǒng)來幫助學(xué)生學(xué)習(xí)高性能計(jì)算的原理與應(yīng)用。多核的CPU和眾核的GPU已經(jīng)成為目前大多數(shù)計(jì)算機(jī)中最重要的兩種處理器。傳統(tǒng)上,GPU只用于處理3D圖像渲染任務(wù),而其他大多數(shù)的任務(wù)都交給了CPU。作為一種通用處理器,CPU的設(shè)計(jì)必須兼顧各種任務(wù)的需要。因此,CPU中大多數(shù)的晶體管都被用于制造龐大的緩存和復(fù)雜的控制邏輯,而運(yùn)算單元占用的面積則并不多。近幾年來,CPU生產(chǎn)廠商已經(jīng)認(rèn)識(shí)到依靠增加單個(gè)核心的緩存尺寸和控制邏輯的復(fù)雜程度對(duì)提高處理器性能已經(jīng)沒有太大幫助,因此紛紛在一塊芯片中集成更多的CPU核心。不過,這樣做只是能夠用更多的晶體管制造一個(gè)處理器,并沒有提高晶體管的利用率。與此同時(shí),由于圖形渲染的并行特性,GPU與生俱來就是一種擁有大量運(yùn)算單元的并行處理器。近幾年來的發(fā)展經(jīng)驗(yàn)表明,一塊高端GPU的單精度浮點(diǎn)處理性能可以達(dá)到一塊同時(shí)期高端桌面CPU的10倍,其顯存帶寬也達(dá)同時(shí)期桌面平臺(tái)的5倍左右。并且,由GPU提供相同的計(jì)算能力,所需要的成本和功耗都要小于基于CPU的系統(tǒng)。由于傳統(tǒng)GPU硬件架構(gòu)的限制,很難有效利用其資源進(jìn)行通用計(jì)算。NVIDIA推出的CUDA產(chǎn)品則完全扭轉(zhuǎn)了這一局面。與傳統(tǒng)GPU通用計(jì)算開發(fā)方式相比,CUDA編程更簡單,功能更強(qiáng)大,應(yīng)用領(lǐng)域更廣泛,支持CUDA的硬件性能也更強(qiáng)。CUDA完全改變了PC中的一些游戲規(guī)則,使用GPU計(jì)算無需投入額外的成本,卻可以在一些應(yīng)用中獲得一個(gè)數(shù)量級(jí)的加速。在科學(xué)計(jì)算中,一些過去必須由集群處理的任務(wù),現(xiàn)在也可以由每個(gè)研究人員的桌面Pc完成了,這使得科研人員能夠更加自由地將時(shí)間投入到自己的研究中。在超級(jí)計(jì)算機(jī)與集群中,過去往往拆除“多余的”顯卡以節(jié)省功耗,現(xiàn)在的設(shè)計(jì)卻開始采用大量GPU來獲得更加綠色的計(jì)算能力。CUDA的強(qiáng)大性能引發(fā)了一場通用計(jì)算革命,這場革命將極大地改變計(jì)算機(jī)的面貌。我們很幸運(yùn)地參與了這場GPU通用計(jì)算革命。在2007~2009年間,我們看到國內(nèi)有越來越多的開發(fā)者嘗試將CUDA應(yīng)用到自己感興趣的領(lǐng)域中,在學(xué)術(shù)和產(chǎn)業(yè)領(lǐng)域都取得了令人欣喜的成績。與此同時(shí),我們也注意到很多程序員在由CPU程序開發(fā)轉(zhuǎn)移到CUDA程序開發(fā)的過程中遇到了一些問題。特別是出于CUDA程序的性能往往和并行算法以及硬件架構(gòu)有很大關(guān)系,初次接觸GPU的程序員往往需要較長的時(shí)間才能完全掌握CUDA程序的編寫與優(yōu)化。

內(nèi)容概要

本書是全國第一本全面介紹CUDA軟硬件體系架構(gòu)的書籍。全面介紹使用CUDA進(jìn)行通用計(jì)算所需要的語法、硬件架構(gòu)、程序優(yōu)化技巧等知識(shí),是進(jìn)行GPU通用計(jì)算程序開發(fā)的入門教材和參考書。    本書共分5章。第1章介紹GPU通用計(jì)算的發(fā)展歷程,介紹并行計(jì)算的歷史、現(xiàn)狀以及面臨的問題;第2章介紹CUDA的使用方法,幫助讀者理解CUDA的編程模型、存儲(chǔ)器模型和執(zhí)行模型,掌握CUDA程序的編寫方法;第3章探討CUDA硬件架構(gòu),深入分析Tesla GPU架構(gòu)與CUDA通用計(jì)算的相互作用:第4章總結(jié)CUDA的高級(jí)優(yōu)化方法,對(duì)任務(wù)劃分、存儲(chǔ)器訪問、指令流效率等課題進(jìn)行探討;第5章以豐富的實(shí)例展示如何使用CUDA的強(qiáng)大性能解決實(shí)際問題。    本書可作為CUDA的學(xué)習(xí)入門和編程參考書,主要面向從事高性能計(jì)算的程序員與工程師,使用GPU加速專業(yè)領(lǐng)域計(jì)算的科研人員,以及對(duì)GPU通用計(jì)算感興趣的程序員。開設(shè)相關(guān)課程的高等院校與科研機(jī)構(gòu)也可選用本書作為教材。

作者簡介

張舒,電子科技大學(xué)信息與通信工程專業(yè)碩士,現(xiàn)任NvIDIA深圳有限公司系統(tǒng)設(shè)計(jì)驗(yàn)證工程師,CUDA技術(shù)顧問。曾實(shí)現(xiàn)基于CUDA的神經(jīng)網(wǎng)絡(luò)、聚類分析、主分量分析等模式識(shí)別算法,以及信號(hào)仿真、密碼破解、字符串匹配等應(yīng)用。

書籍目錄

前言第1章 GPU通用計(jì)算  1.1 多核計(jì)算的發(fā)展    1.1.1 CPU多核并行    1.1.2 超級(jí)計(jì)算機(jī)、集群與分布式計(jì)算    1.1.3 CPU+GPU異構(gòu)并行  1.2 GPU發(fā)展簡介    1.2.1 GPU渲染流水線    1.2.2 著色器模型    1.2.3 NVIDIA GPU發(fā)展簡介  1.3 從GPGPU到CUDA    1.3.1 傳統(tǒng)GPGPU開發(fā)    1.3.2 CUDA開發(fā)第2章 CUDA基礎(chǔ)  2.1 CUDA編程模型    2.1.1 主機(jī)與設(shè)備    2.1.2 Kernel函數(shù)的定義與調(diào)用    2.1.3 線程結(jié)構(gòu)    2.1.4 硬件映射    2.1.5 deviceQuery示例    2.1.6 matrixAssign示例  2.2 CUDA軟件體系    2.2.1 CUDA C語言    2.2.2 nvcc編譯器    2.2.3 運(yùn)行時(shí)APl與驅(qū)動(dòng)APl    2.2.4 CUDA函數(shù)庫  2.3 CUDA存儲(chǔ)器模型    2.3.1 寄存器    2.3.2 局部存儲(chǔ)器    2.3.3 共享存儲(chǔ)器    2.3.4 全局存儲(chǔ)器    2.3 5 主機(jī)端內(nèi)存    2.3.6 主機(jī)端頁鎖定內(nèi)存    2.3.7 常數(shù)存儲(chǔ)器    2.3.8 紋理存儲(chǔ)器  2.4 CUDA通信機(jī)制    2.4.1 同步函數(shù)    2.4.2 Volatile關(guān)鍵字    2.4.3 ATOM操作    2.4.4 VOTE操作  2.5 異步并行執(zhí)行    2.5.1 流    2.5.2 事件  2.6 CUDA與圖形學(xué)APl互操作    2.6.1 CUDA與OpenGL的互操作    2.6.2 CUDA與Direct3D互操作  2.7 多設(shè)備與設(shè)備集群    2.7.1  CUDA設(shè)備控制    2.7.2 CUDA與openMP    2.7.3 CUDA與集群第3章 CUDA硬件架構(gòu)  3.1 NVIDIA顯卡構(gòu)造簡介    3.1.1 圖形顯卡概覽    3.1.2 PCI—E總線    3.1.3 顯存    3.1.4 GPU芯片  3.2 Tesla圖形與計(jì)算架構(gòu)    3.2.1 SPA—TPC—SM    3.2.2 主流GPU架構(gòu)  3.3 Tesla通用計(jì)算模型    3.3.1 數(shù)據(jù)與指令的加載    3.3.2 warp指令的發(fā)射與執(zhí)行    3.3.3 紋理、渲染和存儲(chǔ)器流水線第4章 CUDA程序的優(yōu)化  4.1 CUDA程序優(yōu)化概述  4.2 測量程序運(yùn)行時(shí)間    4.2.1 設(shè)備端測時(shí)    4.2.2 主機(jī)端測時(shí)  4.3 任務(wù)劃分  ……第5章 綜合應(yīng)用附錄A 安裝、配置、編譯及調(diào)試附錄B 常見問題與解答附錄C 技術(shù)規(guī)范附錄D C擴(kuò)展附錄E 數(shù)學(xué)函數(shù)附錄F 紋理拾取附錄G 著色器模型

章節(jié)摘錄

插圖:第1章 GPU通用計(jì)算目前,主流計(jì)算機(jī)中的處理器主要是中央處理器CPU和圖形處理器GPU。傳統(tǒng)上,GPU只負(fù)責(zé)圖形渲染,而大部分的處理都交給了CPU。21世紀(jì)人類所面臨的重要科技問題,如衛(wèi)星成像數(shù)據(jù)的處理、基因工程、全球氣候準(zhǔn)確預(yù)報(bào)、核爆炸模擬等,數(shù)據(jù)規(guī)模已經(jīng)達(dá)到TB甚至PB量級(jí),沒有萬億次以上的計(jì)算能力是無法解決的。與此同時(shí),我們在日常應(yīng)用中(如游戲、高清視頻播放)面臨的圖形和數(shù)據(jù)計(jì)算也越來越復(fù)雜,對(duì)計(jì)算速度提出了嚴(yán)峻挑戰(zhàn)。GPU在處理能力和存儲(chǔ)器帶寬上相對(duì)CPU有明顯優(yōu)勢,在成本和功耗上也不需要付出太大代價(jià),從而為這些問題提供了新的解決方案。由于圖形渲染的高度并行性,使得GPU可以通過增加并行處理單元和存儲(chǔ)器控制單元的方式提高處理能力和存儲(chǔ)器帶寬。GPU設(shè)計(jì)者將更多的晶體管用作執(zhí)行單元,而不是像CPU那樣用作復(fù)雜的控制單元和緩存并以此來提高少量執(zhí)行單元的執(zhí)行效率。圖1-1對(duì)CPU與GPU中晶體管的數(shù)量以及用途進(jìn)行了比較。

編輯推薦

《GPU高性能運(yùn)算之CUDA》精選典型實(shí)用例程,詳解CUDA使用細(xì)節(jié),重視理論結(jié)合實(shí)際,介紹并行程序設(shè)計(jì)方法,深入分析硬件架構(gòu),揭示模型與底層映射關(guān)系,精心總結(jié)優(yōu)化經(jīng)驗(yàn),解析高性能編程技巧。技術(shù)支持:論壇(http://bbs.hpctech.com)

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    GPU高性能運(yùn)算之CUDA PDF格式下載


用戶評(píng)論 (總計(jì)36條)

 
 

  •   學(xué)習(xí)CUDA適用的教材2,國人編寫,須有一定的功底和代碼編寫基礎(chǔ),請(qǐng)?jiān)诳赐辍禛PU高性能編程CUDA實(shí)戰(zhàn)》——****://product.dangdang****/Product.aspx?product_id=21034070
    之后再看這本書,或者可以兩本結(jié)合起來看。
  •   CUDA還是很強(qiáng)大的,不過也有其局限性。
    唉,計(jì)算,腦袋疼……
  •   不錯(cuò)的書,cuda介紹的還算系統(tǒng),比上網(wǎng)找資料要好一些
  •   在相關(guān)方面的書不是很多,作為入門圖書已經(jīng)非常不錯(cuò)了。
  •   這幾本都是一個(gè)系列的,內(nèi)容很全面,不錯(cuò)
  •   這本書是不錯(cuò)的,慢慢地才能看懂。
  •   還沒來得及看,慚愧
  •   書很好,講的很清楚
  •   書挺好的,可是買完就降價(jià)了,虧了
  •   送貨很及時(shí).
  •   gpu和cuda 的好書,只是軟件發(fā)展太快了
  •   是目前關(guān)于CUDA一本最好的教材
  •   我覺得這本書還可以的
  •   一本現(xiàn)階段的好書
  •   很好的書,雖然有一些筆誤,不過細(xì)讀后完全可以自己改正。
  •   作為入門還可以,但是不太詳細(xì)!
  •   大部分資料網(wǎng)上已經(jīng)有。不過部分還是蠻有參考意義。
  •   大部分內(nèi)容來自官方文檔 自己寫的較少 差不多就是翻譯下
  •   還不錯(cuò)啦,比較基礎(chǔ),適合初學(xué)者
  •   1出版社就是灌水的出版社2基本上是網(wǎng)絡(luò)的內(nèi)容不如網(wǎng)上看3內(nèi)容組織差4啰嗦無原創(chuàng)內(nèi)容
  •   入門看看還行,想深入的話,應(yīng)用實(shí)例比較少,比國外的還是差
  •   很基礎(chǔ),通俗易懂,適合初學(xué)者
  •   RT,學(xué)習(xí)GPU編程的話,這本書應(yīng)該是國內(nèi)比較權(quán)威的了
  •   店鋪快遞都比較給力,發(fā)貨送貨速度快。就是書貌似有點(diǎn)舊了,有點(diǎn)地方有損壞。具體內(nèi)容,還是初學(xué)者,現(xiàn)在不宜多加評(píng)論。。。
  •   不知道是不是物流運(yùn)輸?shù)闹型静恍⌒陌褧o弄破了還是怎么的。~反正書到我的手里的時(shí)候已經(jīng)是爛了幾頁!~
  •   好書,講解詳細(xì),用來新接觸CUDA的自學(xué)很好
  •   內(nèi)容跨越性有點(diǎn)大,總體還不錯(cuò)
  •   現(xiàn)在Nvidia的Titan都已經(jīng)發(fā)布,架構(gòu)都到3.5了,可以支持原子操作等新特性,然而國內(nèi)這方面最新的翻譯資料都沒有,實(shí)在是非??上У囊患隆?/li>
  •   這本書對(duì)我的幫助很大,但是買家沒發(fā)給我正規(guī)的發(fā)票,不知是否可以補(bǔ)發(fā)一下,那就非常感謝了。。。
  •   GPU開發(fā)的必備工具書
  •   中科院一個(gè)很牛的老師推薦的書,我們的教材。謝謝作者。
  •   針對(duì)性較強(qiáng),能夠由淺入深;但時(shí)間性較強(qiáng),萬一新型的GPU等器件出現(xiàn),則會(huì)顯得過時(shí)。
  •   買了,翻了一下,感覺 不怎么的
  •   買齊了需要的書 很好
  •   不要買這本書
  •   實(shí)在是精妙之極
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7