2012-08-28 31 views
0

我有這個問題一段時間。我看到MIT關於Cilk ++的opencourseware講座。
使用線程的界面看起來很直觀,工具看起來很有用。講師解釋了使用Cilk ++代替pthread或OpenMP的優點。通過一般的書店瀏覽,我曾經遇到過一本關於Cilk ++的書。儘管麻省理工學院對現在由英特爾擁有的Cilk ++所說的所有好事,儘管似乎很少有人採用它。通過pthreads的Cilk ++

證據顯示,這可能是缺少已發表的書籍和數量或追隨者或標記的問題。 (在寫入時)

亞馬遜搜索給出
1的Cilk ++ 2個結果
2.並行線程166個結果
3. OpenMP的278結果

SO標籤
1的Cilk 11名追隨者
2. OpenMP 242追隨者
3. pthreads 258追隨者

Cilk ++緩慢/很少採用的可能原因是什麼?

+0

對不起,但是你的問題到底是什麼? pthreads和cilk ++的比較?爲什麼cilk ++使用不足? – Tudor

+0

要使用原始線程,您還應該考慮[Boost.thread](http://www.boost.org/doc/libs/1_51_0/doc/html/thread.html)和[C++ 11中的線程支持](http://en.cppreference。 COM/W/CPP /線程)。 –

+0

@JoachimPileborg Boost線程比Cilk ++更廣泛嗎? –

回答

1

我會說大腦分享是人們不採用新技術的最大原因之一。在cilk ++的情況下,它涵蓋了由「boost.thread」,posix線程,openMP和C++ 11中的新特性等多種替代技術所涵蓋的「完全可以完成工作」的領域。

此外,任何新技術的採用曲線在開始時都非常緩慢。有些想法需要10年或更長時間才能達成(悲傷但真實)。其他人被納入現有的想法。有些人因爲糟糕而失去了歷史,有些失去了輝煌的歷史。

我認爲英特爾決定保留Cilk ++開源並在gcc中維持它的支持將有所幫助(假設他們使C++ 11兼容cilk ++)。我的感覺是,如果它發生了,它最終會被歸入C++,這不會是壞事。

+0

cilk人提議將他們的增強功能添加到提案N3409中的未來C++標準中。對此的考慮正在進行中。參見例如 - http://isocpp.org/blog/2013/03/n3557-considering-a-fork-join-parallelism-library –