NVIDIA CUDA軟件簡(jiǎn)介
CUDA的開(kāi)發(fā)考慮了幾個(gè)設(shè)計(jì)目標(biāo):
提供對(duì)標(biāo)準(zhǔn)編程語(yǔ)言(例如C)的一小部分?jǐn)U展,這些擴(kuò)展可實(shí)現(xiàn)并行算法的直接實(shí)現(xiàn)。使用CUDA C / C ++,程序員可以專(zhuān)注于算法的并行化任務(wù),而不必花時(shí)間在其實(shí)現(xiàn)上。
在應(yīng)用程序同時(shí)使用CPU和GPU的情況下支持異構(gòu)計(jì)算。應(yīng)用程序的串行部分在CPU上運(yùn)行,并行部分被卸載到GPU。這樣,CUDA可以增量地應(yīng)用于現(xiàn)有應(yīng)用程序。CPU和GPU被視為具有各自內(nèi)存空間的單獨(dú)設(shè)備。此配置還允許在CPU和GPU上同時(shí)進(jìn)行計(jì)算,而不會(huì)爭(zhēng)用內(nèi)存資源。
具有CUDA功能的GPU具有數(shù)百個(gè)內(nèi)核,這些內(nèi)核可以共同運(yùn)行數(shù)千個(gè)計(jì)算線程。這些內(nèi)核具有共享資源,包括寄存器文件和共享內(nèi)存。片上共享內(nèi)存允許在這些內(nèi)核上運(yùn)行的并行任務(wù)共享數(shù)據(jù),而無(wú)需通過(guò)系統(tǒng)內(nèi)存總線發(fā)送數(shù)據(jù)。
NVIDIA CUDA功能介紹
1、高性能
CUDA軟件平臺(tái)經(jīng)過(guò)高度優(yōu)化,可在NVIDIA GPU上執(zhí)行,并且比僅限CPU的選擇速度快2至5倍。
2、特定領(lǐng)域的圖書(shū)館
高級(jí)庫(kù)支持跨域的GPU加速,包括線性代數(shù),圖像處理,深度學(xué)習(xí)和圖形分析。
3、開(kāi)發(fā)一次,隨處部署
CUDA軟件平臺(tái)可跨GPU系列工作,因此您可以在任何平臺(tái)上開(kāi)發(fā),而無(wú)需擔(dān)心最終的部署環(huán)境。
4、集成開(kāi)發(fā)環(huán)境
IDE帶有用于調(diào)試的圖形和命令行工具,識(shí)別GPU和CPU上的性能瓶頸,并提供上下文相關(guān)的優(yōu)化指導(dǎo)。
5、語(yǔ)言整合
使用您已知的編程語(yǔ)言開(kāi)發(fā)應(yīng)用程序,包括C,C ++,F(xiàn)ortran和Python。
NVIDIA CUDA軟件特色
一、圖書(shū)館
1、使用cuBLAS中的新GEMM內(nèi)核加速高性能計(jì)算(HPC)和深度學(xué)習(xí)應(yīng)用程序。
2、通過(guò)cuFFT和NVIDIA Performance Primitives中多個(gè)GPU配置的性能優(yōu)化,可更快地執(zhí)行映像和信號(hào)處理應(yīng)用程序。
3、使用cuSOLVER和nvGRAPH中的新算法解決HPC中常見(jiàn)的線性和圖形分析問(wèn)題。
二、合作團(tuán)體
1、使用從子貼圖到線程,塊和網(wǎng)格的線程表達(dá)豐富的并行算法。
2、使用新的API和函數(shù)原語(yǔ)在應(yīng)用程序內(nèi)高效地管理和重用線程。
3、在開(kāi)普勒體系結(jié)構(gòu)及更高版本上用強(qiáng)大的編程模型替換warp-synchronous編程。
三、沃爾塔建筑
1、Tensor Cores比Pascal GPU執(zhí)行速度快5倍,可以更快地執(zhí)行AI應(yīng)用程序。
2、利用下一代NVLink提供前代產(chǎn)品的2倍吞吐量來(lái)擴(kuò)展多GPU應(yīng)用。
3、使用沃爾多多進(jìn)程服務(wù)(MPS)提高GPU利用率。
四、開(kāi)發(fā)工具
1、通過(guò)識(shí)別在統(tǒng)一內(nèi)存中導(dǎo)致頁(yè)面錯(cuò)誤的源代碼來(lái)優(yōu)化和預(yù)取內(nèi)存訪問(wèn)。
2、通過(guò)將事件添加到時(shí)間線和顏色編碼連接來(lái)高效地配置NVLink。
3、使用基于虛擬地址,遷移原因和頁(yè)面錯(cuò)誤訪問(wèn)類(lèi)型的新事件過(guò)濾器來(lái)檢查統(tǒng)一內(nèi)存性能瓶頸。
NVIDIA CUDA使用方法
評(píng)估
對(duì)于現(xiàn)有項(xiàng)目,第一步是評(píng)估應(yīng)用程序,以找到負(fù)責(zé)大部分執(zhí)行時(shí)間的代碼部分。有了這些知識(shí),開(kāi)發(fā)人員就可以評(píng)估這些瓶頸以進(jìn)行并行化,并開(kāi)始研究GPU加速。
通過(guò)了解最終用戶的要求和約束并應(yīng)用阿姆達(dá)爾定律和古斯塔夫森定律,開(kāi)發(fā)人員可以通過(guò)加速應(yīng)用程序已識(shí)別部分來(lái)確定性能改進(jìn)的上限。
平行化
在確定了熱點(diǎn)并完成了設(shè)置目標(biāo)和期望的基本練習(xí)之后,開(kāi)發(fā)人員需要并行處理代碼。根據(jù)原始代碼,這可以像調(diào)用現(xiàn)有的GPU優(yōu)化庫(kù)一樣簡(jiǎn)單,例如立方玻璃, 傅立葉變換, 要么 推力,也可以像向并行化編譯器添加一些預(yù)處理器指令一樣簡(jiǎn)單。
另一方面,某些應(yīng)用程序的設(shè)計(jì)將需要進(jìn)行一些重構(gòu)以暴露其固有的并行性。由于甚至CPU架構(gòu)也需要公開(kāi)并行性以改善或簡(jiǎn)單地維護(hù)順序應(yīng)用程序的性能,因此CUDA并行編程語(yǔ)言家族(CUDA C ++,CUDA Fortran等)旨在使這種并行性的表達(dá)盡可能地簡(jiǎn)單。 ,同時(shí)在支持CUDA的GPU上啟用操作,這些GPU設(shè)計(jì)用于實(shí)現(xiàn)最大并行吞吐量。
優(yōu)化
在完成每一輪應(yīng)用程序并行化之后,開(kāi)發(fā)人員可以著手優(yōu)化實(shí)現(xiàn)以提高性能。由于可以考慮許多可能的優(yōu)化,因此充分了解應(yīng)用程序的需求可以幫助使過(guò)程盡可能地流暢。但是,與整個(gè)APOD一樣,程序優(yōu)化是一個(gè)反復(fù)的過(guò)程(確定優(yōu)化機(jī)會(huì),應(yīng)用和測(cè)試優(yōu)化,驗(yàn)證所實(shí)現(xiàn)的加速并重復(fù)),這意味著程序員在看到良好的加速效果之前不必花費(fèi)大量時(shí)間來(lái)記住所有可能的優(yōu)化策略。相反,可以在學(xué)習(xí)策略時(shí)逐步應(yīng)用它們。
從重疊的數(shù)據(jù)傳輸?shù)接?jì)算一直到微調(diào)浮點(diǎn)運(yùn)算序列,優(yōu)化可以應(yīng)用于各種級(jí)別??捎玫母乓治龉ぞ邔?duì)于指導(dǎo)此過(guò)程非常有用,因?yàn)樗鼈兛梢詭椭ㄗh開(kāi)發(fā)人員進(jìn)行優(yōu)化工作的最佳方案,并為該指南的優(yōu)化部分的相關(guān)部分提供參考。
部署
完成應(yīng)用程序一個(gè)或多個(gè)組件的GPU加速后,可以將結(jié)果與原始期望進(jìn)行比較。回想一下,初始評(píng)估步驟允許開(kāi)發(fā)人員確定通過(guò)加速給定熱點(diǎn)可獲得的潛在加速的上限。
在解決其他熱點(diǎn)以提高總體速度之前,開(kāi)發(fā)人員應(yīng)考慮采用部分并行的實(shí)現(xiàn),并將其付諸實(shí)踐。這很重要,原因有很多;例如,它允許用戶盡早從他們的投資中獲利(提速可能是部分的,但仍然是有價(jià)值的),并且通過(guò)向開(kāi)發(fā)者提供一組漸進(jìn)而不是革命性的更改,將開(kāi)發(fā)人員和用戶的風(fēng)險(xiǎn)降至最低。應(yīng)用。
NVIDIA CUDA軟件組成
GPU加速庫(kù)
CUDA-X庫(kù)
IndeX框架(IndeX)
語(yǔ)言解決方案
OpenACC編譯器指令
NVIDIA CUDA C / C ++編譯器(NVCC)
參考資料
CUDA C / C ++代碼示例
CUDA文檔
開(kāi)發(fā)工具
NVTAGS
DIGITS深度學(xué)習(xí)培訓(xùn)系統(tǒng)
Nsight集成開(kāi)發(fā)環(huán)境
可視分析器
CUDA-GDB命令行調(diào)試器
CUDA-MEMCHECK內(nèi)存分析儀
NVIDIA CUDA更新日志
1.對(duì)部分功能進(jìn)行了優(yōu)化
2.解了好多不能忍的bug
華軍小編推薦:
NVIDIA CUDA能夠幫助你解決很多問(wèn)題,相信只要你敢用,絕對(duì)會(huì)讓你愛(ài)不釋手的,還推薦給您NVIDIA GeForce 9400 GT顯卡驅(qū)動(dòng)、NVIDIA英偉達(dá)GeForce系列顯卡驅(qū)動(dòng) For Win7-32、nvidia geforce 8400 gs顯卡驅(qū)動(dòng)、NVIDIA 7025顯卡驅(qū)動(dòng)、ATI RADEON X550顯卡
您的評(píng)論需要經(jīng)過(guò)審核才能顯示
有用
有用
有用