I have a general question concerning the simultaneous use of coarrays and parallelization using Intel Fortran on Windows 7.
I have a program which is compiled for coarray use. The computer I am using has 4 cores. The software uses 1 image only for the first part of the calculations, then splits into 4 images for further, compute intensive steps, then reverts to a single image. The ‘sync all’ statement is used as necessary to synchronise the 3 stages.
However, if you monitor cpu usage with the Windows 7 Task Manager, all four cores are shown as running at 100% utilization throughout the run of the software. I presume that this is a consequence of the use of ‘sync all’?
My questions are:
- Am I correct in my assumptions about ‘sync all’?
I could usefully carry out some parallelization in the 1st and 3rd parts of the calculations where only a single image is used, but if all the cores are fully utilized is there any point?