Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.
1698 ディスカッション

Comparison between various multicore programming models

n00bie
ビギナー
776件の閲覧回数
There are various options out there for multicore programming and application development. How do they compare and how does one make a choice? on what basis?
1. TBB
2. openMP
3. ArBB
4. Cilk
5. VS2010 Concurrency RT
6. openCL (ATI stream SDK supports x86)
7. others
0 件の賞賛
2 返答(返信)
n00bie
ビギナー
776件の閲覧回数
7. Others like MPI
TimP
名誉コントリビューター III
776件の閲覧回数
It's easier to answer, if established successful practice in the application area of interest is important to you.
Of those you mention, I think only MPI covers distributed memory (cluster computing),and, yes, it's useful for shared memory multi-socket platforms too. Combinations of OpenMP and MPI have proven themselves for data parallel applications over a number of years, and are extended successfully to new architectures like cuda and MIC, and to some extent to tasking.
Several of the models you mentioned work only with C++, incompatible with other parallel programming languages, and are too new to answer all your questions. In that group, only TBB is somewhat well established, where you can get an idea what has been done successfully by using your search engine.
Evidently, the amount of continuing work and change in the picture is evidence of people believing that superior models are at hand.
返信