Auto-parallelizer's Diagnostic

The -par_report{0|1|2|3} option controls the auto-parallelizer's diagnostic levels 0, 1, 2, or 3 as follows:

-par_report0 = no diagnostic information is displayed.

-par_report1 = indicates loops successfully auto-parallelized (default).

-par_report2 = indicates loops successfully and unsuccessfully auto-parallelized.

-par_report3 = same as 2 plus additional information about any proven or assumed dependences inhibiting auto-parallelization.

Troubleshooting Tips

Example below shows an output generated by -par_report3 as a result from the command:

prompt>ifc -c -parallel -par_threshold0 -par_report3 myprog.f

-par_report Output Example

external subroutine XYZ
PROCEDURE: XYZ
SERIAL LOOP: line 9: non-parallel candidate loop due to
       statement at line 10
SERIAL LOOP: Line 14
Reason:  FLOW dependence for "q" from line 15 to line 15.

18 Lines Compiled

!DIR$PARALLEL Directive

The !DIR$PARALLEL directive instructs the compiler to ignore dependencies which it assumes may exist and which would prevent correct parallelization in the immediately following loop. However, if dependencies are proven, they are not ignored.

The !DIR$NOPARALLEL  directive disables auto-parallelization for the immediately following loop.