2009-06-11 63 views
7

波特蘭集團提供的CUDA,OpenCL和GPU選項令人感興趣......結果令人印象深刻(對某些團體而言,125-times speedup)。聽起來GPGPU工具的下一波浪潮正準備主宰科學計算世界。不過,我還記得GLSL和Cg宣佈的時候也是如此。CUDA,OpenCL,PGI等......但是GLSL和Cg發生了什麼?

GLSL和Cg發生了什麼?已經支持掉線?人們仍然使用GLSL & Cg進行GPU上的通用計算嗎?

回答

12

對GPGPU使用Cg或GLSL的日子已經快要結束了。但是,它們大量用於3D圖形,並且在可預見的未來將繼續以這種方式使用。 GLSL和Cg僅用於科學計算,因爲它們是城裏唯一的遊戲。沒有其他的選擇可以在GPU上進行通用計算。

現在爲GPGPU使用GLSL的唯一真正原因是與平臺無關。如果您絕對必須能夠在各種GPU上運行您的軟件,那麼現在它仍然是一條路。不過,OpenCL在不久的將來會改變這種狀況。

科學計算正在向CUDA和OpenCL等方向發展的原因很多。這些庫使您可以更好地訪問GPU硬件,並可以更加靈活地處理性能瓶頸問題。這使得從GPU獲得最高性能變得更容易。 CUDA和OpenCL還提供GLSL或Cg中不具備的功能(例如共享內存),但對於在許多算法(例如矩陣轉置)中獲得良好性能至關重要。另一個原因是CUDA和OpenCL可以讓您無需圖形上下文即可訪問GPU,從而使您可以遠程使用計算機的GPU進行計算。

4

你在比較蘋果和橘子。 CUDA和OpenCL用於在GPU上進行通用計算。 GLSL和Cg是着色器語言。它們主要用於編寫着色器,而不是用於通用計算。

我不知道GLSL的實際狀態,但我知道Cg。我使用它已經有好幾年了,但是我的朋友剛剛在一個新的3D遊戲中工作,確實使用Cg寫他的着色器。即使Cg背後並沒有同樣的社區和行業支持,但它仍然存在,您仍然可以使用它。

+0

「...... Cg背後並沒有相同的社區和行業支持,曾經有過......」這就是我要求的原因之一:CUDA,OpenCL等現在有很大的推動力。它會在一年後消失嗎?如果我花費大量時間移植我的應用程序,那麼肯定會很糟糕,然後軟件或硬件得不到支持! – Pete 2009-06-11 19:50:41

0
  • Cg/HLSL如果你是一個遊戲開發者。
  • OpenCL如果你是一個非常冒險的遊戲開發者。

對於桌面上的其他人你甚至不能保證他們將擁有所需的硬件。

所有這些解決方案的未來看起來都很暗淡。在GPGPU趕上桌面和合並之前,我們很可能會看到至少1代或2代以上的語言。