2013-08-16 21 views
1

就並行編程模型而言,Scala和OpenCL提供/支持的區別是什麼?以一個簡單的任務爲例,如何並行添加一個具有10億個元素的兩個向量的任務?並行編程模式:Scala vs OpenCL

我認爲從程序員的角度來看,Scale應該很容易。

vectorA+ vectorB -> setC

或者,他們是不是在同一水平進行比較?

+1

Scala是一個高層次和通用編程語言 - 它是易於使用和易於並行使用CPU。 OpenCL的運營水平要低得多,因此更難以處理。但是,OpenCL允許您平行使用CPU和GPU - 對於某些任務,使用GPU的處理速度可能會更快。 –

+0

The're是一個項目,使這個問題無效)https://github.com/ochafik/ScalaCL – vitalii

+1

@vitalli擊敗我..但是,它不工作:) – pierrotlefou

回答

0

scala基於JVM。這意味着任何Java優化的GPU東西都可以輕鬆移植到Scala中。如果JVM將優化字節碼,那麼Scala自動也會支持它。 GPU編程是未來 - 除非我們開始看到數百個i7內核等。 CPU的問題在於它非常複雜,因此每個內核的熱量消耗較高 - 散熱問題等。 但是,GPU可以以相同的方式卸載CPU因爲數學coprocesor是在早些時候卸下任務的。

臺式機CPU + GPU芯片將是有趣的,但..移動CPU的GPU卡:-)裏面..