Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.
1690 Discussions

Comparison between various multicore programming models

n00bie
Beginner
102 Views
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 Kudos
2 Replies
n00bie
Beginner
102 Views
7. Others like MPI
TimP
Black Belt
102 Views
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.
Reply