- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have a code that has been parallelized using Openmp. Compiling
with auto-parallelization on plus using multi-thread library. Baselined a
typical calculation as a reference prior to changing from my E6600 to a new Q6600. The run time has ~ doubled with my
change from the dual-core to the quad. I'm using calls to CPU_TIME to do
timing. While I understand that a change from 2 cores to 4 cores might
hurt performance (instead of improving it), the ~doubling of the displayed run
time is suspicious.
Any suggestions? Am I missing something obvious?
Thanks for any assistance!
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're not measuring run time, you're measuring all the CPU time in the four threads together. Try measuring elapsed time (using SYSTEM_CLOCK perhaps) and see if things look better.
It could be you have a lot of contention across the threads. Intel Thread Profiler can show you that.
It could be you have a lot of contention across the threads. Intel Thread Profiler can show you that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, timing using system_clock makes much better sense. Thanks

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