Performance issue of parallelization. Parallel Studio 2013

Performance issue of parallelization. Parallel Studio 2013

I use Windows 7, Parallel Studio 2013 with VS 2012, Fortran 90.
If I run my code in the mode without parallelization, Windows shows 25% CPU usage of  i7-2620M  (2 cores, 4 threads) that is resonable.  
In the parallel mode Windows shows 100% CPU usage that is also resonable.

The question is why the real computations  slows about twice?






5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I would take with grain of salt performance measurement reported by task manager.Better option is to run VTune and Xperf for comprehensive performance evaluation.Put it simply task manager's resolution is not measured in CPU cycles and charged down to function level

Dear Iliya,

thank you for your comment! I'm not familiar with VTune and Xperf, however, apart on the way haw to evaluate the CPU usage, the question is very simple. Why the computations under parallelization mode twice slowly than without parallelization. This is somewhat I did not expect and can not find an answer. 

All the best.

If you use the par-threshold option to increase the usage of parallelization, as the docs tell you, you can expect to see instances where parallelization slows it down.  Presumably, you know more about the application than we do, so would have a head start over us on understanding the opportunities for parallelization.

If the compiler chooses loop nest and fusion optimizations when not parallelizing, you might start by writing those into the source code so as to encourage continued use of the same organization.  It's also worth while to try 2 threads running on separate cores, as there are relatively few Fortran applications which will see an advantage from hyperthreading on i7.

It can be difficult to go much further without some means of timing the code sections and isolating where the performance issues occur, as was already suggested.

Also thread synchronization can slow down thread level parallelism.Anyway as it was said it is impossible to know the exact cause of parallel code slowdown.At least you can tell us how did you get your timing results.

Leave a Comment

Please sign in to add a comment. Not a member? Join today