PFA analyzes a program and identifies loops that don't contain data dependencies. It is a preprocessor that automatically inserts special compiler directives into a Fortran program to produce a modified copy of the source. The Silicon Graphics Fortran 77 compiler can then interpret these directives to generate code that can run across all available processors. Because the directives inserted by PFA look like standard Fortran 77 comment statements, PFA does not affect the portability of the code to non-Silicon Graphics systems. Figure 3-2 illustrates the role of PFA in producing an executable module that can utilize more than one processor on a multiprocessor system.
Figure 3-2 : Using PFA to Produce a Parallelized Program PFA can, if you request it, produce a listing file explaining which loops were parallelized and if not, why not. You may be able to use this information to modify your application for more efficient use of multiple processors.You can select a PFA compilation of your source code by specifying the pfa compiler driver option when you compile your program.