CUDA - 维基百科,自由的百科全书

文章推薦指數: 80 %
投票人數:10人

显卡的受支持情况 CUDA 維基百科,自由的百科全書 跳至導覽 跳至搜尋 此條目需要更新。

(2021年3月6日)請更新本文以反映近況和新增內容。

完成修改時,請移除本模板。

CUDA開發者Nvidia初始版本2007年6月23日,​14年前​(2007-06-23)穩定版本11.2.0(2020年12月15日,​14個月前​(2020-12-15)) 作業系統Windows、macOS、Linux類型GPGPU許可協定專有軟體網站developer.nvidia.com/cuda-zone CUDA(ComputeUnifiedDeviceArchitecture,統一計算架構[1])是由輝達NVIDIA所推出的一種整合技術,是該公司對於GPGPU的正式名稱。

透過這個技術,使用者可利用NVIDIA的GeForce8以後的GPU和較新的QuadroGPU進行計算。

亦是首次可以利用GPU作為C-編譯器的開發環境。

NVIDIA行銷的時候[2],往往將編譯器與架構混合推廣,造成混亂。

實際上,CUDA可以相容OpenCL或者自家的C-編譯器。

無論是CUDAC-語言或是OpenCL,指令最終都會被驅動程式轉換成PTX代碼,交由顯示核心計算。

[3] 目次 1概要 2優點 3限制 4顯卡的受支持情況 5應用 6支援的產品 7示例 8相關條目 9參考文獻 10外部連結 概要[編輯] CUDA處理流例子1.將主記憶體的處理資料複製入視訊記憶體中2.CPU指令驅動GPU3.GPU每一核心並列處理4.GPU將視訊記憶體結果傳回主記憶體 以GeForce8800GTX為例,其核心擁有128個內處理器。

利用CUDA技術,就可以將那些內處理器串通起來,成為執行緒處理器去解決資料密集的計算。

而各個內處理器能夠交換、同步和共享資料。

利用NVIDIA的C-編譯器,通過驅動程式,就能利用這些功能。

亦能成為流處理器,讓應用程式利用進行運算。

GeForce8800GTX顯示卡的運算能力可達到520GFlops,如果建設SLI系統,就可以達到1TFlops。

[4] 但程式設計師在利用CUDA技術時,須分開三種不同的暫存器,要面對繁複的執行緒層次,編譯器亦無法自動完成多數任務,以上問題就會提高開發難度。

而目前更新的G100以及更高核心型號已採用第二代的CUDA技術,可提高效率,降低開發難度。

目前,已有軟體廠商利用CUDA技術,研發出AdobePremierePro的外掛程式。

通過外掛程式,使用者就可以利用顯示核心去加速H.264/MPEG-4AVC的編碼速度。

速度是單純利用CPU作軟體加速的7倍左右。

在NVIDIA收購AGEIA後,NVIDIA取得相關的物理加速技術,即是PhysX物理引擎。

配合CUDA技術,顯示卡可以類比成一顆PhysX物理加速晶片[5]。

目前,全系列的GeForce8顯示核心都支援CUDA。

而NVIDIA亦不會再推出任何的物理加速卡,顯示卡將會取代相關產品。

為了將CUDA推向民用,NVIDIA舉行一系列的編程比賽,要求參賽者開發程式,充分利用CUDA的計算潛能。

但是,要將GPGPU普及化,還要看微軟能否在Windows作業系統中,提供相關的編程介面。

[6] 2008年8月,NVIDIA推出CUDA2.0[7]。

2010年3月22日,NVIDIA推出CUDA3.0,僅支援Fermi及之後的架構[8]。

CUDA是一種由NVIDIA提出的並由其製造的圖形處理單元(GPUs)實現的一種平行計算平臺及程式設計模型。

CUDA給程式開發人員提供直接存取CUDAGPUs中的虛擬指令集和平行計算元件的記憶體。

使用CUDA技術,GPUs可以用來進行通用處理(不僅僅是圖形);這種方法被稱為GPGPU。

與CPUs不同的是,GPUs有著側重以較慢速度執行大量併發執行緒的並行流架構,而非快速執行單一執行緒。

軟體發展者可以通過CUDA加速庫,編譯器指令(如OpenACC)以及符合工業標準的程式設計語言(如C,C++和Fortran)擴展對CUDA平臺進行操作。

C/C++程式師可以使用「CUDAC/C++」,使用「NVCC」——NVIDIA基於LLVM的C/C++編譯器進行編譯;Fortran程式師可以使用「CUDAFortran」,使用PGI公司的PGICUDAFortran編譯器進行編譯。

除了庫、編譯器指令、CUDAC/C++和CUDAFortran,CUDA平臺還支援其它計算介面,如KhronosGroup的OpenCL,Microsoft的DirectCompute,以及C++AMP。

其協力廠商封裝也可用於Python,Perl,Fortran,Java,Ruby,Lua,Haskell,MATLAB,IDL及Mathematica的原生支援。

在電腦遊戲行業中,GPUs不僅用於進行圖形彩現,而且用於遊戲物理運算(物理效果如碎片、煙、火、流體),比如PhysX和Bullet。

在計算生物學與密碼學等領域的非圖形應用上,CUDA的加速效果達到可以用數量級來表示的程度。

CUDA同時提供底層API與高階API。

最初的CUDA軟體發展包(SDK)於2007年2月15日公佈,支援MicrosoftWindows和Linux。

而後在第二版中加入對MacOSX的支援,取代2008年2月14日發佈的測試版。

所有G8x系列及以後的NVIDIAGPUs皆支援CUDA技術,包括GeForce,Quadro和Tesla系列。

CUDA與大多數標準作業系統相容。

Nvidia聲明:根據二進位相容性,基於G8x系列開發的程式無需修改即可在未來所有的Nvidia顯示卡上運行。

優點[編輯] 在GPUs(GPGPU)上使用圖形APIs進行傳統通用計算,CUDA技術有下列幾個優點: 分散讀取——代碼可以從記憶體的任意位址讀取 統一虛擬記憶體(CUDA4) 共享記憶體——CUDA公開一個快速的共享儲存區域(每個處理器48K),使之在多個執行緒之間共享。

其作為一個使用者管理的快取記憶體,比使用紋理尋找可以得到更大的有效頻寬。

與GPU之間更快的下載與回讀 全面支援整型與位元運算,包括整型紋理尋找 限制[編輯] CUDA不支援完整的C語言標準。

它在C++編譯器上運行主機代碼時,會使一些在C中合法(但在C++中不合法)的代碼無法編譯。

不支援紋理彩現(CUDA3.2及以後版本通過在CUDA陣列中引入「表面寫操作」——底層的不透明資料結構——來進行處理) 受系統主線的頻寬和延遲的影響,主機與裝置記憶體之間資料複製可能會導致效能下降(通過過GPU的DMA引擎處理,非同步記憶體傳輸可在一定範圍內緩解此現象) 當執行緒總數為數千時,執行緒應按至少32個一組來運行才能獲得最佳效果。

如果每組中的32個執行緒使用相同的執行路徑,則程式分支不會顯著影響效果;在處理本質上不同的任務時,SIMD執行模型將成為一個瓶頸(如在光線追蹤演算法中遍歷一個空間分割的資料結構) 與OpenCL不同,只有NVIDIA的GPUs支援CUDA技術 由於編譯器需要使用優化技術來利用有限的資源,即使合法的C/C++有時候也會被標記並中止編譯 CUDA(計算能力1.x)使用一個不包含遞迴、函式指標的C語言子集,外加一些簡單的擴展。

而單個進程必須運行在多個不相交的記憶體空間上,這與其它C語言運行環境不同。

CUDA(計算能力2.x)允許C++類功能的子集,如成員函式可以不是虛擬的(這個限制將在以後的某個版本中移除)[參見《CUDAC程式設計指南3.1》-附錄D.6] 雙精度浮點(CUDA計算能力1.3及以上)與IEEE754標準有所差異:倒數、除法、平方根僅支援捨入到最近的偶數。

單精確度中不支援反常值(denormal)及sNaN(signalingNaN);只支援兩種IEEE捨入模式(舍位與捨入到最近的偶數),這些在每條指令的基礎上指定,而非控制字碼;除法/平方根的精度比單精確度略低。

顯示卡的受支援情況[編輯] 不同CUDA版本支援的計算能力列表[9] CUDA版本 支援的計算能力 微架構 備註 1.0[10] 1.0–1.1 Tesla(英語:Tesla(microarchitecture)) 1.1 1.0–1.1+x Tesla(英語:Tesla(microarchitecture)) 2.0 1.0–1.1+x Tesla(英語:Tesla(microarchitecture)) 2.1–2.3.1[11][12][13][14] 1.0–1.3 Tesla(英語:Tesla(microarchitecture)) 3.0–3.1[15][16] 1.0–2.0 Tesla(英語:Tesla(microarchitecture)),Fermi 3.2[17] 1.0–2.1 Tesla(英語:Tesla(microarchitecture)),Fermi 4.0–4.2 1.0–2.1+x Tesla(英語:Tesla(microarchitecture)),Fermi 5.0–5.5 1.0–3.5 Tesla(英語:Tesla(microarchitecture)),Fermi,Kepler 6.0 1.0–3.5 Tesla(英語:Tesla(microarchitecture)),Fermi,Kepler 6.5 1.1–5.x Tesla(英語:Tesla(microarchitecture)),Fermi,Kepler,Maxwell(英語:Maxwell(microarchitecture)) 最後支援計算能力1.x(Tesla(英語:Tesla(microarchitecture)))的版本 7.0–7.5 2.0–5.x Fermi,Kepler,Maxwell(英語:Maxwell(microarchitecture)) 8.0 2.0–6.x Fermi,Kepler,Maxwell(英語:Maxwell(microarchitecture)),Pascal 最後支援計算能力2.x(Fermi)的版本;GTX1070Ti不受支援 9.0–9.2 3.0–7.2 Kepler,Maxwell(英語:Maxwell(microarchitecture)),Pascal,Volta PascalGTX1070Ti不受CUDASDK9.0支援,但受CUDASDK9.2支援 10.0–10.2 3.0–7.5 Kepler,Maxwell(英語:Maxwell(microarchitecture)),Pascal,Volta,Turing 最後支援計算能力3.x(Kepler)的版本;CUDASDK10.2是最後能用於macOS的官方版本,在未來的版本中macOS將不被支援 11.0– 3.5-8.6 Maxwell(英語:Maxwell(microarchitecture)),Pascal,Volta,Turing,Ampere 不同計算能力對應的顯示卡列表 計算能力(版本) 微架構 GPU GeForce系列 QuadroNVS系列 Tesla系列 Tegra系列,Jetson(英語:NvidiaJetson)系列,DRIVE(英語:NvidiaDrive)系列 1.0 Tesla(英語:Tesla(microarchitecture)) G80 GeForce8800Ultra,GeForce8800GTX,GeForce8800GTS(G80) QuadroFX5600,QuadroFX4600,QuadroPlex2100S4 TeslaC870,TeslaD870,TeslaS870 1.1 G92,G94,G96,G98,G84,G86 GeForceGTS250,GeForce9800GX2,GeForce9800GTX,GeForce9800GT,GeForce8800GTS(G92),GeForce8800GT,GeForce9600GT,GeForce9500GT,GeForce9400GT,GeForce8600GTS,GeForce8600GT,GeForce8500GT,GeForceG110M,GeForce9300MGS,GeForce9200MGS,GeForce9100MG,GeForce8400MGT,GeForceG105M QuadroFX4700X2,QuadroFX3700,QuadroFX1800,QuadroFX1700,QuadroFX580,QuadroFX570,QuadroFX470,QuadroFX380,QuadroFX370,QuadroFX370LowProfile,QuadroNVS450,QuadroNVS420,QuadroNVS290,QuadroNVS295,QuadroPlex2100D4,QuadroFX3800M,QuadroFX3700M,QuadroFX3600M,QuadroFX2800M,QuadroFX2700M,QuadroFX1700M,QuadroFX1600M,QuadroFX770M,QuadroFX570M,QuadroFX370M,QuadroFX360M,QuadroNVS320M,QuadroNVS160M,QuadroNVS150M,QuadroNVS140M,QuadroNVS135M,QuadroNVS130M,QuadroNVS450,QuadroNVS420,[18]QuadroNVS295 1.2 GT218,GT216,GT215 GeForceGT340*,GeForceGT330*,GeForceGT320*,GeForce315*,GeForce310*,GeForceGT240,GeForceGT220,GeForce210,GeForceGTS360M,GeForceGTS350M,GeForceGT335M,GeForceGT330M,GeForceGT325M,GeForceGT240M,GeForceG210M,GeForce310M,GeForce305M QuadroFX380LowProfile,QuadroFX1800M,QuadroFX880M,QuadroFX380M,NvidiaNVS300,NVS5100M,NVS3100M,NVS2100M,ION 1.3 GT200,GT200b GeForceGTX295,GTX285,GTX280,GeForceGTX275,GeForceGTX260 QuadroFX5800,QuadroFX4800,QuadroFX4800forMac,QuadroFX3800,QuadroCX,QuadroPlex2200D2 TeslaC1060,TeslaS1070,TeslaM1060 2.0 Fermi(英語:Fermi(microarchitecture)) GF100,GF110 GeForceGTX590,GeForceGTX580,GeForceGTX570,GeForceGTX480,GeForceGTX470,GeForceGTX465,GeForceGTX480M Quadro6000,Quadro5000,Quadro4000,Quadro4000forMac,QuadroPlex7000,Quadro5010M,Quadro5000M TeslaC2075,TeslaC2050/C2070,TeslaM2050/M2070/M2075/M2090 2.1 GF104,GF106GF108,GF114,GF116,GF117,GF119 GeForceGTX560Ti,GeForceGTX550Ti,GeForceGTX460,GeForceGTS450,GeForceGTS450*,GeForceGT640(GDDR3),GeForceGT630,GeForceGT620,GeForceGT610,GeForceGT520,GeForceGT440,GeForceGT440*,GeForceGT430,GeForceGT430*,GeForceGT420*,GeForceGTX675M,GeForceGTX670M,GeForceGT635M,GeForceGT630M,GeForceGT625M,GeForceGT720M,GeForceGT620M,GeForce710M,GeForce610M,GeForce820M,GeForceGTX580M,GeForceGTX570M,GeForceGTX560M,GeForceGT555M,GeForceGT550M,GeForceGT540M,GeForceGT525M,GeForceGT520MX,GeForceGT520M,GeForceGTX485M,GeForceGTX470M,GeForceGTX460M,GeForceGT445M,GeForceGT435M,GeForceGT420M,GeForceGT415M,GeForce710M,GeForce410M Quadro2000,Quadro2000D,Quadro600,Quadro4000M,Quadro3000M,Quadro2000M,Quadro1000M,NVS310,NVS315,NVS5400M,NVS5200M,NVS4200M 3.0 Kepler GK104,GK106,GK107 GeForceGTX770,GeForceGTX760,GeForceGT740,GeForceGTX690,GeForceGTX680,GeForceGTX670,GeForceGTX660Ti,GeForceGTX660,GeForceGTX650TiBOOST,GeForceGTX650Ti,GeForceGTX650,GeForceGTX880M,GeForceGTX780M,GeForceGTX770M,GeForceGTX765M,GeForceGTX760M,GeForceGTX680MX,GeForceGTX680M,GeForceGTX675MX,GeForceGTX670MX,GeForceGTX660M,GeForceGT750M,GeForceGT650M,GeForceGT745M,GeForceGT645M,GeForceGT740M,GeForceGT730M,GeForceGT640M,GeForceGT640MLE,GeForceGT735M,GeForceGT730M QuadroK5000,QuadroK4200,QuadroK4000,QuadroK2000,QuadroK2000D,QuadroK600,QuadroK420,QuadroK500M,QuadroK510M,QuadroK610M,QuadroK1000M,QuadroK2000M,QuadroK1100M,QuadroK2100M,QuadroK3000M,QuadroK3100M,QuadroK4000M,QuadroK5000M,QuadroK4100M,QuadroK5100M,NVS510,Quadro410 TeslaK10,GRIDK340,GRIDK520 3.2 GK20A Tegra K1,Jetson TK1 3.5 GK110,GK208 GeForceGTXTitanZ,GeForceGTXTitanBlack,GeForceGTXTitan,GeForceGTX780Ti,GeForceGTX780,GeForceGT640(GDDR5),GeForceGT630v2,GeForceGT730,GeForceGT720,GeForceGT710,GeForceGT740M(64-bit,DDR3),GeForceGT920M QuadroK6000,QuadroK5200 TeslaK40,TeslaK20x,TeslaK20 3.7 GK210 TeslaK80 5.0 Maxwell(英語:Maxwell(microarchitecture)) GM107,GM108 GeForceGTX750Ti,GeForceGTX750,GeForceGTX960M,GeForceGTX950M,GeForce940M,GeForce930M,GeForceGTX860M,GeForceGTX850M,GeForce845M,GeForce840M,GeForce830M,GeForceGTX870M QuadroK1200,QuadroK2200,QuadroK620,QuadroM2000M,QuadroM1000M,QuadroM600M,QuadroK620M,NVS810 TeslaM10 5.2 GM200,GM204,GM206 GeForceGTXTitanX,GeForceGTX980Ti,GeForceGTX980,GeForceGTX970,GeForceGTX960,GeForceGTX950,GeForceGTX750SE,GeForceGTX980M,GeForceGTX970M,GeForceGTX965M QuadroM600024GB,QuadroM6000,QuadroM5000,QuadroM4000,QuadroM2000,QuadroM5500,QuadroM5000M,QuadroM4000M,QuadroM3000M TeslaM4,TeslaM40,TeslaM6,TeslaM60 5.3 GM20B Tegra X1,Jetson TX1,Jetson Nano,DRIVE CX,DRIVE PX 6.0 Pascal GP100 QuadroGP100 TeslaP100 6.1 GP102,GP104,GP106,GP107,GP108 NvidiaTITANXp,TitanX,GeForceGTX1080Ti,GTX1080,GTX1070Ti,GTX1070,GTX1060,GTX1050Ti,GTX1050,GT1030,MX350,MX330,MX250,MX230,MX150 QuadroP6000,QuadroP5000,QuadroP4000,QuadroP2200,QuadroP2000,QuadroP1000,QuadroP400,QuadroP500,QuadroP520,QuadroP600,QuadroP5000(Mobile),QuadroP4000(Mobile),QuadroP3000(Mobile) TeslaP40,TeslaP6,TeslaP4 6.2 GP10B[19] Tegra X2,Jetson TX2,DRIVE PX 2 7.0 Volta GV100 NVIDIATITANV QuadroGV100 TeslaV100,TeslaV100S 7.2 GV10B[20] TegraXavier,JetsonXavierNX,JetsonAGXXavier,DRIVEAGXXavier,DRIVEAGXPegasus 7.5 Turing TU102,TU104,TU106,TU116,TU117 NVIDIATITANRTX,GeForceRTX2080Ti,RTX2080Super,RTX2080,RTX2070Super,RTX2070,RTX2060Super,RTX2060,GeForceGTX1660Ti,GTX1660Super,GTX1660,GTX1650Super,GTX1650 GeForceMX450 QuadroRTX8000,QuadroRTX6000,QuadroRTX5000,QuadroRTX4000,QuadroT2000,QuadroT1000 TeslaT4 8.0 Ampere(英語:Ampere_(microarchitecture)) GA100,GA102,GA104,GA106 NVIDIAGeforceRTX3090,GeforceRTX3080,RTX3070,RTX3060Ti,RTX3060 A100 '*'–僅限OEM產品 詳情請參見Nvidia(頁面存檔備份,存於網際網路檔案館): 應用[編輯] 利用CUDA技術,配合適當的軟體(例如MediaCoder[21]、FreemakeVideoConverter),就可以利用顯示核心進行高畫質影片編碼加速。

影片解碼方面,同樣可以利用CUDA技術實現。

此前,NVIDIA的顯示核心本身已整合PureVideo單元。

可是,實現相關加速功能的一個微軟API-DXVA,偶爾會有加速失效問題。

所以利用CoreAVC配合CUDA,變相在顯示核心上實現軟體解碼,解決相容性問題[22]。

另外,配合適當的引擎,顯示核心就可以計算光線跟蹤。

NVIDIA就放出了自家的Optix即時光線跟蹤引擎,透過CUDA技術利用GPU計算光線跟蹤。

[23] 支援的產品[編輯] 所有基於G80及之後架構的民用與專業顯示卡或運算模組皆支援CUDA技術[24]。

範例[編輯] 下列的範例是如何用C++自GPU的image陣列中取得紋理(texture): cudaArray*cu_array; texturetex; //Allocatearray cudaChannelFormatDescdescription=cudaCreateChannelDesc(); cudaMallocArray(&cu_array,&description,width,height); //Copyimagedatatoarray cudaMemcpy(cu_array,image,width*height*sizeof(float),cudaMemcpyHostToDevice); //Bindthearraytothetexture cudaBindTextureToArray(tex,cu_array); //Runkernel dim3blockDim(16,16,1); dim3gridDim(width/blockDim.x,height/blockDim.y,1); kernel<<>>(d_odata,height,width); cudaUnbindTexture(tex); __global__voidkernel(float*odata,intheight,intwidth) { unsignedintx=blockIdx.x*blockDim.x+threadIdx.x; unsignedinty=blockIdx.y*blockDim.y+threadIdx.y; floatc=tex2D(tex,x,y); odata[y*width+x]=c; } 下列的例子是用Python改寫.Python相關的訊息可取自PyCUDAArchived2012-03-03atWebCite. importpycuda.driverasdrv importnumpy importpycuda.autoinit mod=drv.SourceModule(""" __global__voidmultiply_them(float*dest,float*a,float*b) { constinti=threadIdx.x; dest[i]=a[i]*b[i]; } """) multiply_them=mod.get_function("multiply_them") a=numpy.random.randn(400).astype(numpy.float32) b=numpy.random.randn(400).astype(numpy.float32) dest=numpy.zeros_like(a) multiply_them( drv.Out(dest),drv.In(a),drv.In(b), block=(400,1,1)) printdest-a*b 更多的Python的矩陣相乘問題可取自pycublas. importnumpy frompycublasimportCUBLASMatrix A=CUBLASMatrix(numpy.mat([[1,2,3],[4,5,6]],numpy.float32)) B=CUBLASMatrix(numpy.mat([[2,3],[4,5],[6,7]],numpy.float32)) C=A*B printC.np_mat() 相關條目[編輯] OpenCL Vulkan 參考文獻[編輯] ^CUDA是ComputeUnifiedDeviceArchitecture(统一计算架构)的简称.[2010-02-08].(原始內容存檔於2010-02-13).  ^GPU挑战CPU地位!详解CUDA+OpenCL威力.[2008-12-26].(原始內容存檔於2008-12-18).  ^NVIDIA携手OpenCL让GPU革命更加彻底.[2008-12-26].(原始內容存檔於2012-10-17).  ^小熊線上-寧道奇.双剑合璧:CPU+GPU异构计算完全解析.小熊線上.[2013-06-18].(原始內容存檔於2013-06-24).  ^全系列GeForce8显卡将获得PhysX物理支持.[2008-05-02].(原始內容存檔於2008-04-17).  ^NV显卡编程大赛CUDA通用计算走向民用.[2008-05-21].(原始內容存檔於2008-05-28).  ^NVIDIA发布第二代通用计算架构CUDA2.0.[2008-08-26].(原始內容存檔於2008-12-02).  ^NVIDIA发布第三代CUDA3.0支持Fermi/C++.[2011-05-18].(原始內容存檔於2011-06-29).  ^CUDAToolkitArchive.NVIDIADeveloper.[2020-07-16].(原始內容存檔於2020-07-09).  ^NVIDIACUDAProgrammingGuide.Version1.0(PDF).2007-06-23[2020-07-16].(原始內容存檔(PDF)於2018-04-17).  ^NVIDIACUDAProgrammingGuide.Version2.1(PDF).2008-12-08[2020-07-16].(原始內容存檔(PDF)於2020-04-06).  ^NVIDIACUDAProgrammingGuide.Version2.2(PDF).2009-04-02[2020-07-16].(原始內容存檔(PDF)於2019-03-06).  ^NVIDIACUDAProgrammingGuide.Version2.2.1(PDF).2009-05-26[2020-07-16].(原始內容存檔(PDF)於2019-09-25).  ^NVIDIACUDAProgrammingGuide.Version2.3.1(PDF).2009-08-26[2020-07-16].(原始內容存檔(PDF)於2012-02-18).  ^NVIDIACUDAProgrammingGuide.Version3.0(PDF).2010-02-20[2020-07-16].(原始內容存檔(PDF)於2020-07-29).  ^NVIDIACUDACProgrammingGuide.Version3.1.1(PDF).2010-07-21[2020-07-16].(原始內容存檔(PDF)於2020-06-01).  ^NVIDIACUDACProgrammingGuide.Version3.2(PDF).2010-11-09[2020-07-16].(原始內容存檔(PDF)於2020-03-02).  ^NVIDIAQuadroNVS420Specs.TechPowerUpGPUDatabase.[2020-07-16].(原始內容存檔於2020-07-29).  ^Larabel,Michael.NVIDIARollsOutTegraX2GPUSupportInNouveau.Phoronix.2017-03-29[2017-08-08].(原始內容存檔於2017-08-09).  ^NvidiaXavierSpecs(頁面存檔備份,存於網際網路檔案館)onTechPowerUp(preliminary) ^CUDA转码软件.[2009-09-14].(原始內容存檔於2009-09-18).  ^另类CUDA高清方案.[2009-09-14].(原始內容存檔於2009-11-29).  ^NVIDIAOptix实时光线追踪DEMO.[2009-09-14].(原始內容存檔於2009-09-12).  ^NVIDIA官方支援CUDA技術的產品列表.[2010-04-19].(原始內容存檔於2010-02-18).  外部連結[編輯] 官方網站 周秉誼.GPU高效能運算環境—CUDA與GPUCluster介紹.台灣大學計算機及資訊網路中心.[2010-12-05].(原始內容存檔於2010-05-16)(中文(繁體)).  閱論編輝達 繪圖處理器固定功能管線早期產品 NV1 NV2 RIVA系列 128 TNT TNT2/Vanta GeForce系列 GeForce256 2系列 3系列 4系列 FX/PCX/5系列 6系列 7系列 統一著色器架構(英語:Unifiedshadersmodel)GeForce系列 8系列 9系列 100系列 200系列 300系列 400系列 500系列 600系列 700系列 800系列 900系列 10系列 16系列 20系列 30系列 微架構 特斯拉(英語:Tesla(microarchitecture)) 費米 克卜勒 麥斯維爾(英語:Maxwell(microarchitecture)) 帕斯卡 伏打 圖靈 安培  其他產品中央處理器 Denver系列 主機板晶片組 nForce系列 初代 2 3 4/400(包括MCP51/61) 500 600(包括MCP68/73) 700(包括MCP78/79/7A) 800 900 Professional2000 Professional3000 工作站高效能計算 Quadro系列 2 DCC 4 FX CX VX NVS Plex QuadroG-Sync SDI Tesla系列 電視遊樂器 NV2A(Xbox) RSX(PlayStation3) TegraNX-SoC(NintendoSwitch) ShieldPortable ShieldTablet(英語:ShieldTablet) ShieldAndroidTV GeForceNow(前稱GeForceGRID) 多媒體整合平臺系統晶片 GoForce系列 ION系列 Tegra系列 橋接晶片 HSI BR02 BR03 BR04 NF200  技術與軟體多媒體加速 PureVideo(視訊解碼) NVENC(英語:NVIDIANVENC)(視訊編碼) 圖形處理技術相關 Surround(英語:NvidiaSurround) 3DVision/3DSurround ActiveArmor(英語:ActiveArmor) G-Sync(英語:NvidiaG-Sync) SLI HybridPower TurboCache Optimus DLSS(深度學習超級採樣) 晶片組相關技術 FirstPacket DualNet MediaShield LinkBoost PowerMizer SmartDimmer SoundStorm 其它硬體技術及標準 MXM EPP ESA NVLink 驅動程式和軟體 ForceWare(GPU驅動程式) Verde(行動裝置GPU驅動程式) GameWorks(英語:NvidiaGameWorks) PhysX OptiX(英語:OptiX) VDPAU nView nTune SystemUtility(英語:NvidiaSystemTools) Gelato Cg CUDA  其它相關併購企業 3dfxInteractive Ageia Exluna HybridGraphics Icera(英語:Icera) iReady MediaQ MentalImages(英語:mentalImages(firm)) PaceSoftSilicon PortalPlayer RayScale Stexar ULi 關鍵人物 黃仁勳 ChrisMalachowsky(克里斯·馬拉科夫斯基)(英語:ChrisMalachowsky) CurtisPriem(克蒂斯·普里姆)(英語:CurtisPriem) DavidKirk(大衛·柯克)(英語:DavidKirk(scientist)) DavidRosenthal(大衛·羅森塔爾) MarvinBurkett(馬文·伯克特) BillDally(比爾·戴利)(英語:BillDally) RangaJayaraman(蘭格·賈亞拉曼) JosephGreco(約瑟夫·葛雷柯) JeffFisher(傑夫·費舍爾) JonahAlben(約拿·阿爾本) BrianKelleher(布萊恩·凱勒赫爾) PhilipCarmack(菲利普·卡馬克) DwightDiercks(德懷特·狄耶克斯) FrankFox(弗蘭克·富克斯) GaryTarolli(蓋瑞·塔羅利) 閱論編平行計算概論 分散式計算 平行計算 大規模並列處理機 雲端運算 高效能計算 多元處理 大規模多核心處理器(英語:Manycoreprocessor) GPGPU 電腦網路 Systolicarray(英語:Systolicarray) 層級 位元 指令 執行緒 任務 資料 記憶體 迴圈(英語:Loop-levelparallelism) 管線 多執行緒 時間(英語:Temporalmultithreading) 同時多執行緒(SMT) 投機(英語:Speculativemultithreading)(SpMT) 搶占式 協同運作 叢集多執行緒(CMT) 硬體偵測 理論 PRAM模型 並列演算法分析(英語:Analysisofparallelalgorithms) 阿姆達爾定律 Gustafson'slaw(英語:Gustafson'slaw) Costefficiency(英語:Costefficiency) Karp–Flattmetric(英語:Karp–Flattmetric) 減速(英語:Parallelslowdown) 加速比 元素 行程 執行緒 纖程 指令窗口(英語:Instructionwindow) 協調 多元處理 記憶體一致性(英語:Memorycoherence) 快取一致性 高速緩衝記憶體失效(英語:Cacheinvalidation) 屏障 同步 應用程式檢查點(英語:Applicationcheckpointing) 編程 串流處理 資料流處理(英語:Dataflowprogramming) 模型 隱式並列(英語:Implicitparallelism) 顯式並列(英語:Explicitparallelism) 並行性 非阻塞演算法(英語:Non-blockingalgorithm) 硬體 費林分類法 單指令流單數據流 單指令流多資料流 單指令多執行緒(英語:Singleinstruction,multiplethreads)(SIMT) 多指令流單數據流 多指令流多資料流 資料流架構(英語:Dataflowarchitecture) 指令管線 超純量 並列向量處理機 多處理器 對稱 非對稱 記憶體(英語:Semiconductormemory) 共享 分散式記憶體(英語:Distributedmemory) 分散式共享 UMA NUMA COMA(英語:Cache-onlymemoryarchitecture) 大規模並列處理機 電腦叢集 網格計算 API AtejiPX(英語:AtejiPX) Boost.Thread Charm++(英語:Charm%2B%2B) Cilk CoarrayFortran(英語:CoarrayFortran) CUDA Dryad(英語:Dryad(programming)) C++AMP GlobalArrays(英語:GlobalArrays) MPI OpenMP OpenCL HMPP開放標準 OpenACC TPL(英語:ParallelExtensions#TaskParallelLibrary) PLINQ(英語:ParallelExtensions#PLINQ) 並列虛擬機器(英語:ParallelVirtualMachine)(PVM) POSIX執行緒 RaftLib(英語:RaftLib) UPC TBB(英語:ThreadingBuildingBlocks) 問題 軟體閉鎖(英語:Softwarelockout) 可延伸性 競爭危害 死結 活結 飢餓(英語:Starvation(computerscience)) 確定性演算法 並列變慢(英語:Parallelslowdown)  分類:平行計算 維基共享資源上有關CUDA的多媒體資源 規範控制 GND:7719528-0 LCCN:sh2013001284 取自「https://zh.wikipedia.org/w/index.php?title=CUDA&oldid=66447732」 分類:​英偉達顯示卡並發計算物理引擎GPGPU隱藏分類:​自2021年3月待更新條目包含GND標識符的維基百科條目包含LCCN標識符的維基百科條目 導覽選單 個人工具 沒有登入討論貢獻建立帳號登入 命名空間 條目討論 臺灣正體 已展開 已摺疊 不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體 查看 閱讀編輯檢視歷史 更多 已展開 已摺疊 搜尋 導航 首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科 說明 說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科 工具 連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目 列印/匯出 下載為PDF可列印版 其他專案 維基共享資源 其他語言 AfrikaansالعربيةAzərbaycancaCatalàČeštinaDeutschEnglishEspañolEestiEuskaraفارسیSuomiFrançaisעבריתItaliano日本語ქართული한국어МакедонскиമലയാളംNederlandsPolskiPortuguêsRomânăРусскийСрпски/srpskiSvenskaไทยTürkçeУкраїнськаTiếngViệt 編輯連結



請為這篇文章評分?