- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Thanks!
Yuriy
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page