Quantcast
Channel: Intel® Fortran Compiler
Viewing all articles
Browse latest Browse all 3270

2015 installation & Threading

$
0
0

Steve (& colleagues)

1. As noted elsewhere in this forum, the installation of 2015 erases whatever was in the "Configuration Properties / General / Target Name" window box and puts in $(ProjectName). For all configurations. Damned annoying . . .having to go back and type in all those name again.

2. In an effort to thread our larger code projects using OpenMP and the "parallel do" construct, I continue to encounter what appears to be thread scheduling problems. I establish 4 threads. Generally, I would expect the histogram that shows simultaneously used logical CPUs to show 1 CPU having the greatest amount of execution time (it's running all the serial code as well), and 4 CPUs to have the next highest amount of execution time. That is, either 1 CPU is running, or 4 are running (nearly). I do not see that. In most cases the histogram shows execution times for simultaneous CPUs, from greatest to least as: 1, 2, 3, 4. With 4 always vanishingly small. I don't understand why 2 or 3 CPUs are running simultaneously much more often than 4. The schedule is set to dynamic so with work should be being apportioned between the threads in a way that "automatically" balances the load. I am using the environment variable for affinity to place each thread on a physical processor. (I have 4 physical, 4 virtual). Nothing I do with scheduling affects this behavior. So, I assume that the difficulty is with what the OS is doing to schedule or allow threads to work. It is clear that I do not know enough about the interaction of Fortran/OpenMP and the OS (Win7 in my case). Can you recommend a resource that I can study to understand what is happening? Aside from the scheduling clause in the OpenMP statements, there are apparently other things that affect how threads behave.

I have raised this issue on this forum previously and several folks have offered good suggestions. But none of those suggested changes affected the thread / work load behavior I am seeing.

David


Viewing all articles
Browse latest Browse all 3270


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>