This guide describes the features of the Silicon Graphics POWER Fortran Accelerator TM (PFA). For details about analyzing a program and converting it for use on a multiprocessor system, refer to Chapter 5, “Fortran Enhancements for Multiprocessors,” of the Fortran 77 Programmer's Guide.


This guide contains the following chapters and appendixes:

Chapter 1, “Overview of PFA,” explains the basic mechanism for invoking PFA and includes a description of PFA's listing and intermediate files.

Chapter 2, “How to Use PFA,” explains how to use PFA directly and as part of a Fortran compile.

Chapter 3, “Utilizing PFA Output,” explains output produced by PFA: the intermediate file and the listing file.

Chapter 4, “Customizing PFA Execution,”describes how to use command line options to optimize PFA execution.

Chapter 5, “Fine-Tuning PFA,” describes how to optimize code by using PFA directives and assertions.

Appendix A, “PFA Command Line Options,” lists the five types of PFA command line options: parallelization, optimization, Fortran 77 language control, directives, and listing.

Appendix B, “PFA Directives,” lists the PFA directives you can use to modify the features of PFA, that is, directives to increase the optimization level, increase the size of the loop that PFA can analyze, or use more sophisticated (and time-consuming) ways of resolving superficial data dependencies that prevent PFA from identifying a loop for parallel execution.

Appendix C, “PFA Assertions,” lists the PFA assertions you can include in a program to provide information that PFA needs to identify loops that can run in parallel, despite apparent but sometimes non-existent data dependencies.

The Glossary lists and defines terminology related to PFA.

Related Documentation

The following documents contain information relevant to PFA:

  • Fortran 77 Programmer's Guide, Silicon Graphics, Inc., document number 007-0711-030.

  • Fortran 77 Language Reference Manual, Silicon Graphics, Inc., document number 007-0710-040.

  • IRIS-4D Series Compiler Guide, Silicon Graphics, Inc., document number 007-0905-030.

Typographical Conventions

This guide uses the following conventions and symbols:

The following conventions and symbols are used in the text to describe the form of Fortran statements:


Indicates literal command line options, filenames, keywords, function/subroutine names, pathnames, and directory names.


Represents user-defined values. Replace the item in italics with a legal value. Italics are also used for command names, manual page names, and manual titles.


Indicates command syntax, program listings, computer output, and error messages.

Courier bold 

Indicates user input.

[ ] 

Enclose optional command arguments.


Surround arguments or are empty if the function has no arguments following function/subroutine names. Surround manual page section in which the command is described following IRIX commands.


Sseparates two or more optional items.


Indicates that the preceding optional items can appear more than once in succession.


IRIX shell prompt for the superuser.


IRIX shell prompt for users other than superuser.

Here is an example illustrating the syntax conventions.

C*$*[NO]IPA [(name [,name...])]  {HERE|ROUTINE|GLOBAL}

The previous syntax statement indicates that:

  • The keyword C*$* NOIPA or C*$*IPA must be written as shown.

  • You can specify one or more name, each separated by a comma and all between parentheses.

  • You must specify one of the following: HERE, ROUTINE, or GLOBAL.

The following statements are valid examples of the described syntax: