the GNU implementation of the C++ Library supports a parallel mode, explained here.
- Any experiences in using it? Good ones? Bad ones? Especially regarding correctness, but also performance.
- Are there some “more or less serious” projects using it?
- Do you use it with the global turn-on-parallel switch -D_GLIBCXX_PARALLEL or do you use it carefully with manually turn-on specific parallelization functions like:
__gnu_parallel::sort(v.begin(), v.end());? - Are there any similar open source projects? Meaning: more easy parallelization than using openMP.
Thanks for your experiences.
Sascha
I’ve used it for some small projects, with a nice speedup for large stl operations. I never encountered any problems (I used the global switch). However I didn’t really do much benchmarking, you might want to refer to studies like http://algo2.iti.kit.edu/singler/mcstl/parallelmode_se.pdf and http://ls11-www.cs.uni-dortmund.de/people/gutweng/AD08/VO11_parallel_mode_overview.pdf.