《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電子元件 > 其他 > 入門(mén):淺談GPU和CUDA技術(shù)

入門(mén):淺談GPU和CUDA技術(shù)

2023-01-04
來(lái)源:雷達(dá)通信電子戰(zhàn)
關(guān)鍵詞: GPU CUDA 處理器

  圖形處理單元(GPU)在類(lèi)似的價(jià)格和功率范圍內(nèi)提供比CPU高的指令吞吐量和內(nèi)存帶寬。許多應(yīng)用程序在GPU上比在CPU上運(yùn)行得更快。其他計(jì)算設(shè)備,如FPGA,也非常節(jié)能,但提供的編程靈活性低于GPU。 GPU和CPU之間的功能差異之所以存在,是因?yàn)樗鼈兊脑O(shè)計(jì)目標(biāo)不同。雖然CPU被設(shè)計(jì)為盡可能快地執(zhí)行一系列操作(稱(chēng)為線(xiàn)程),并且可以并行執(zhí)行幾十個(gè)線(xiàn)程,但GPU被設(shè)計(jì)為擅長(zhǎng)并行執(zhí)行數(shù)千個(gè)線(xiàn)程(用較慢的單線(xiàn)程性能以實(shí)現(xiàn)更高的吞吐量)。 GPU專(zhuān)門(mén)用于高度并行計(jì)算,因此設(shè)計(jì)為更多晶體管用于數(shù)據(jù)處理,而不是數(shù)據(jù)緩存和流控制。如圖顯示了CPU與GPU的芯片資源分布。

 61.JPG

  圖1.GPU將更多晶體管用于數(shù)據(jù)處理 將更多的晶體管用于數(shù)據(jù)處理(例如浮點(diǎn)計(jì)算)對(duì)于高度并行的計(jì)算是有益的;GPU可以通過(guò)計(jì)算避免內(nèi)存訪(fǎng)問(wèn)延遲,而不是依賴(lài)于大型數(shù)據(jù)緩存和復(fù)雜的流控制來(lái)避免長(zhǎng)的內(nèi)存訪(fǎng)問(wèn)延遲。 通常,應(yīng)用程序有并行部分和順序部分的混合,因此系統(tǒng)設(shè)計(jì)時(shí)混合使用GPU和CPU,以最大化整體性能。具有高度并行性的應(yīng)用程序可以利用GPU的這種大規(guī)模并行性來(lái)實(shí)現(xiàn)比CPU更高的性能。

  通用并行計(jì)算平臺(tái)和編程模型

  2006年11月,英偉達(dá)推出了CUDA,這是一種通用并行計(jì)算平臺(tái)和編程模型,它利用NVIDIA GPU中的并行計(jì)算引擎,以比CPU更高效的方式解決許多復(fù)雜的計(jì)算問(wèn)題。 CUDA附帶了一個(gè)軟件環(huán)境,允許開(kāi)發(fā)人員使用C++作為高級(jí)編程語(yǔ)言。如圖2所示,CUDA也支持其他語(yǔ)言、應(yīng)用程序編程接口或基于指令的方法,如FORTRAN、DirectCompute、OpenACC。CUDA旨在支持各種語(yǔ)言和應(yīng)用程序編程接口。

 60.JPG

  圖2.GPU計(jì)算應(yīng)用程序

  一種可擴(kuò)展編程模型

  多核CPU和多核GPU的出現(xiàn)意味著現(xiàn)在主流處理器芯片都是并行系統(tǒng)。挑戰(zhàn)在于開(kāi)發(fā)能夠方便地?cái)U(kuò)展其并行性的應(yīng)用程序軟件,以利用不斷增加的處理器核,就像3D圖形應(yīng)用程序方便地將其并行性擴(kuò)展到具有大量不同核的多核GPU一樣。 CUDA并行編程模型旨在克服這一挑戰(zhàn),同時(shí)為熟悉C等標(biāo)準(zhǔn)編程語(yǔ)言的程序員降低學(xué)習(xí)難度。它的核心是三個(gè)關(guān)鍵抽象——線(xiàn)程組的層次結(jié)構(gòu)、共享內(nèi)存和柵障同步,這些抽象僅作為一組最小的語(yǔ)言擴(kuò)展向程序員公開(kāi)。 這些抽象提供了數(shù)據(jù)并行和線(xiàn)程并行,需要程序員將問(wèn)題劃分為可由線(xiàn)程塊獨(dú)立并行解決的粗略子問(wèn)題,并將每個(gè)子問(wèn)題劃分為更精細(xì)的部分,可由塊內(nèi)的所有線(xiàn)程協(xié)同并行解決。

 59.JPG

  事實(shí)上,每個(gè)線(xiàn)程塊(block)可以在GPU內(nèi)的任何可用多處理器上以任何順序、并發(fā)或順序進(jìn)行調(diào)度,這樣編譯后的CUDA程序可以在任何數(shù)量的多處理器上執(zhí)行,如圖3所示,并且只有運(yùn)行時(shí)系統(tǒng)才需要知道實(shí)際的多處理器數(shù)量。 這種可擴(kuò)展編程模型允許GPU架構(gòu)通過(guò)簡(jiǎn)單地?cái)U(kuò)展多處理器和內(nèi)存分區(qū)的數(shù)量來(lái)適應(yīng)不同的顯卡:從高性能愛(ài)好者GeForce GPU、專(zhuān)業(yè)的Quadro和Tesla計(jì)算顯卡到各種廉價(jià)的主流GeForce GPU(請(qǐng)參閱以獲取所有支持CUDA的GPU的列表)。



更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀(guān)點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。