Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Intel Visual Fortran OpenMP

Brett_Wilt
Beginner
469 Views
I have an application that is generating what I think is abnormal observations. I use OpenMP for threading, and achieve great scaling results from 2 to 8 cores (95% efficiency) when the Intel Fortran optimizations are disabled. However, even when I turn on level O1, my OpenMP threading efficiency dramatically drops to about 55% efficiency. Is this normal? What are the global optimization (/Og) impacts that can affect the OpenMP efficiency?

Thanks!
Brett
0 Kudos
1 Reply
TimP
Honored Contributor III
469 Views
This is not unusual, particularly with certain older model CPUs, such as Clovertown, where you might approach full threaded performance of which the memory system is capable even without optimization. It's more likely to occur with vectorization, which you have prevented by setting -O1. If you improve the single thread performance, as you should, with optimization, you are unlikely to get a proportional gain in threaded performance.
As long as threading still improves performance, you have a reasonable case to claim to have met expectations.
Combining optimization with multi-threading does make the effect of good affinity settings (KMP_AFFINITY environment variable) more visible, along with organizing data so as to make affinity more effective.
0 Kudos
Reply