2
OpenMP offers many benefits:
•Portable, scalable, flexible, standardized, and performance-oriented interface for parallelizing code.
•Hides many details: Thread team created at app startup, per-thread data allocated when #pragma entered, and work divided into coherent chunks.
But it also has many limitations:
•C, not C++.
•Outside the language, bolted onto code via #pragmas.
•Only good for simple for loops over arrays (doesn’t work with STL or BCL collections), and for parallel code sections.
•Doesn’t take advantage of C++’s superior abstractions for type safety or generic programming.
OpenMP and Beyond