c - Reasons for omp_set_num_threads(1) slower than no openmp -


i believe agree title of post. can point me reason ? reference book etc ? have tried find no luck.

i believe reason openmp has synchronization overhead no openmp project doesn't have.

hope can expand reason more?

thanks

while there overhead @ runtime using openmp 1 thread, more important issue code transformations compiler has perform generate openmp code (in particular outlining parallel region code separate functions [done gcc , icc; pgi different...]) affecting other code optimizations (like vectorization). information compiler has in single function allows optimizations potentially gets lost when parts of code executed in outlined functions, generated code may worse.


Comments