NVDIA CUDA ---------GPU計算的革命

洛欣發表於2010-01-28

NVIDIA CUDA技術是基礎的新的計算架構,這個架構將使用GPU來解決一些消費、商業和技術工業領域複雜的計算問題。CUDA(計算標準裝置架構)技術將通過革 命性的計算架構來使用NV的gpu的強大的處理能力,從而給資料密集型的應用提供了完全不受限制的全新的計算能力。該架構將通過標準的c語言來提供大量的 高效能指令以及簡潔的程式開發方式,從而允許開發者建立一個解決辦法,該辦法將消耗更少的時間為資料密集型的處理提供足夠精確的解答。

什麼是CUDA?

使 用了CUDA的GPU計算通過標準的C語言將下一代NV GPU的總多計算特性結合到一起。在這之前的GPU是基於“流式著色程式”的,CUDA則使用C語言,通過“執行緒”來建立應用程式,這類似於CPU上的多 執行緒程式。相比較於僅能有很少執行緒同時工作的多核CPU的而言,NV GPU的特性可以讓CUDA同時執行數千個執行緒,這將令我們的應用能處理更多的資訊流。

CUDA所提供的最重要的創新在於,它使得工 作在GPU上的執行緒可以協作解決問題。線上程間通訊實現以後,CUDA將允許應用程式更加高效的執行。由NV GPUs的支援,CUDA有一個直接在GPU上的平行計算快取,它用於儲存頻繁使用的資訊。在GPU上儲存資訊可以讓計算執行緒即刻得到共享資料而不是去漫 長的等待off-chip的DRAM上的資料。它能讓使用者實時的計算出複雜問題的答案。

通過CUDA應用程式所能獲得的好處

CUDA GPU運算廣泛適用於需要處理大量資料的應用。例如,在遊戲中我們可以使用CUDA來讓GPU承擔整個物理計算,而玩家將會獲得另他們感到驚奇的效能和視 覺效果。另外,用於產品開發和巨量資料分析的商業軟體也可以通過它來使用一臺工作站或者伺服器完成以前需要大規模的計算系統才能完成的工作。這一技術突破 使得客戶可以任何地方進行實時分析與決策。同時,一些以前需要很先進的計算技術來達到的強大計算能力的科學應用程式,也不再受限在計算密度上;使用 CUDA的計算可以在現有的空間裡為平臺提供更強大的計算效能。

為何使用CUDA?

效能:NV GPU為資料密集型的應用提供了超乎想象的效能。CUDA給了我們一個標準的、廣泛使用的解決方案來給予新的應用前所未有的計算能力。
相容性:使用CUDA C-Compiler開發的程式將向後相容NV的GPU。開發人員在GPU計算方面所做的投資將立刻在現有GPU的效能上得到回報,同時也將一定會在NV以後的高效能技術中獲得收益。
生產力:開發者現在可以使用工業化的標準的C語言來使用他們所希望獲得的GPU的計算能力。CUDA提供了完整的開發解決方案,這一方案整合了CPU和GPU,這將令開發人員非常迅速地為他們的客戶提供最新的特徵和更多的價值。
伸縮性:使用CUDA開發的應用程式在效能和特性上可以應用於全線的NV的GPU,從嵌入式GPU到使用多GPU的高效能專業圖形解決方案。CUDA事實上已經可以在從大型的計算裝置到個人消費級產品的任何層次的系統中執行。

使用CUDA的軟體開發

CUDA開發包是一個完整的使用GPU的軟體開發方案。在SDK包含了標準的FFT和BLAS庫、使用NV GPU的C編譯器和執行時驅動。CUDA執行時驅動是與常用的同DX和GL協同工作的驅動獨立的。同時CUDA對Linux和XP的支援也是相同的。

技術特性

CUDA為執行緒計算提供了一個統一的硬體和軟體解決方案來使用支援CUDA的GPU

可支援CUDA的GPU為高效能運算提供並行資料緩衝和執行緒執行管理器的支援

可以在GPU上使用的標準C語言

提供了標準數值庫FFT和BLAS

為計算提供了獨立的CUDA驅動

優化了GPU和CPU之間的資料通訊路徑

CUDA驅動可以在圖形裝置之間互操作

支援 LINUX 與 XP 作業系統

從高效能的專業圖形解決方案到移動和嵌入式GPU均能使用

為高計算密度程式內建多GPU支援

為程式開發和優化提供硬體除錯的效能測試的支援

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22785983/viewspace-626216/,如需轉載,請註明出處,否則將追究法律責任。

相關文章