2009-12-18 80 views

回答

3

我的公司正在使用OpenCL進行科學計算。雖然我不是使用它的開發團隊的一員,但我可以告訴你他們正在使用它做的一些事情:圖像的大規模數據處理,想象重建以及以前編寫的科學代碼的大規模並行化。

基本上,OpenCL是相當先進的。除非你想/不得不處理它,否則最好留給那些需要它的人。我並不是想阻止你,但它是一個專爲利基市場設計的利基產品。你可以更好地爲潛在的就業目的研究其他編程領域。

2

OpenCL不是一個神奇的「增加性能」按鈕。有幾個先決條件需要滿足才能獲得性能提升,第一個是適當的硬件(一個Tesla GPU可以幫助)。對於可以從中受益的軟件,它是任何執行大量並行計算的軟件。這排除了大多數「日常」軟件,並且留下圖形處理應用程序(渲染器,圖像處理程序),操作可能並行的大型數據處理應用程序以及科學應用程序。

通常,如果您編寫的應用程序可以從OpenCL中獲益,您就會知道您已經從中受益;)。

+1

正常的GeForce/Radeon顯卡和專業陣容之間的OpenCL支持沒有區別。 – 2009-12-18 03:17:48

2

首先,您不能使用OpenCL「重寫」整個應用程序。您仍然需要GUI的「正常」語言等。

使用OpenCL,您可以加速非常大的數據並行問題。大多數問題不屬於這一類。

最有前途的候選人是圖形/視頻和聲音處理。但是,需要對大量數據進行相同操作的每個問題都是合適的。

+0

我想大多數需要更多CPU能力的正常應用程序最好使用Grand Central Dispatcher,它也用於QuickTime X.從這裏給出的答案中,我得到OpenCL對於一組受限制的應用程序OpenCL非常具體是向前邁出的一步,因爲它允許使用基於C的編程語言,可以在不同的平臺上使用它。 – kiamlaluno 2009-12-18 03:49:53

+0

GCD基本上只是一個非常複雜的線程池實現。 通過自己管理線程可以做得更好。 – 2009-12-18 16:57:03

相關問題