This chapter describes the syntax and operation of each PGHPF compiler option. The options are arranged in alphabetical order. On a command line, options need to be preceded by a hyphen (-).
This chapter uses the following notation:
Many of the compiler options and arguments have default settings. Some option defaults are affected by environment variables and can be set using the .pghpfrc driver configuration file. Refer to Appendix C, Driver Customization, for details on setting and altering defaults with the driver initialization file.
Most Fortran node compiler options are also valid for PGHPF. Refer to the documentation for the Fortran node compiler supplied with your system for a list of valid Fortran command-line options.
The PGHPF compiler uses the options -O1 and -O2 for optimization. If you select these options, varying levels of optimization will be applied to your HPF program.
If the compiler does not recognize an option, it passes the option to the linker.
Table 2-1 lists and briefly describes the PGHPF options. Full descriptions follow the table.
Option
|
Description
|
-Mautopar |
Auto-parallelize Fortran DO loops which operate on mapped data. |
-M[no]backslash |
Determines how the backslash character is treated in quoted strings. |
-Mbyteswapio |
Swap bytes from big-endian to little-endian or vica versa on input and output of unformatted data. |
-Mcmf |
Provides limited support for CM Fortran compatibility. |
-Mextract |
Perform a manual extract phase for procedures within INDEPENDENT DO loops that are to be inlined. See the -Minline option. |
-M[no]dclchk |
Determines whether all program variables must be declared. |
-M[no]depchk |
Compiler checks for potential data dependencies. |
-M[no]dlines |
The compiler treats lines containing "D" in column 1 as executable statements. With nodlines the compiler does not treat lines containing "D" in column 1 as executable statements (does not ignore the "D".) |
-Mextend |
The compiler accepts 132-column source code; without this option lines are 72 columns. |
-Mf90 |
Perform compilation for a single processor run using Fortran90 semantics. |
-Mfree[form] |
Process source using Fortran 90 freeform input specifications. |
-Mftn |
Stop after compiling HPF and keep the intermediate Fortran output. |
-Mg |
Set the debug option, as well as the -Mkeepftn option, and also set the PGHPF compiler flag that makes debugging the Fortran output easy by suppressing HPF line numbers in the generated Fortran intermediate file. |
-Minfo |
Instructs the compiler to produce size, time, and other compilation information. |
-Minform |
Specifies the minimum level of error severity that the compiler displays. |
-Minline |
Perform procedure inlining within INDEPENDENT DO loops. |
-Mipa |
Perform Interprocedureal Analysis. |
-Mkeepftn |
Retain Fortran intermediate files. |
-Mkeepstatic |
Keeps the intermediate static initialization file that is normally removed by the compiler. This option is used primarily for debugging purposes. |
-Mmpi |
Link a version of the HPF runtime libraries and startup routines for the mpi environment (valid only on certain platforms). |
-Mmpl |
Link a version of the HPF runtime libraries and startup routines for the mpl environment (valid only on certain IBM platforms). |
-M[no]list |
Specifies whether the compiler creates a listing file. |
-Mnofree[form] |
Use fixed form formatting for file processing. |
-Mnohpfc |
Skip the HPF compilation step and compile using the Fortran node compiler if a file with a .f or .F extension is supplied. |
-Mnoindependent |
Do not apply the INDEPENDENT directive to DO loops. |
-Mnoprelink |
Skip the static initialization phase of the compilation |
-Moverlap |
Set the size of the overlap area for BLOCK distributed arrays. |
-Mpreprocess |
Run the preprocessor on the input source file regardless of the filename extension. |
-Mprof |
Select profiling. Insert calls to profile routines and link profiler libraries. |
-Mpvm |
Generate code using runtime libraries and startup routines for the PVM environment. |
-Mr8 |
Promote REAL variables and constants to DOUBLE PRECISION and COMPLEX to DOUBLE COMPLEX. |
-Mrecursive |
Instructs the compiler to produce code that will allow for recursion of the routines within the file. Note: not all routines can be made recursive. |
-Mreplicate |
The array replicator eliminates calls to pghpf_get_scalar() by replicating distributed arrays that satisfy certain conditions. |
-Mrpm |
Link a version of the HPF runtime libraries and startup routines for the PGI RPM environment (valid only on certain platforms). When compiling with this option, the execution run should include the two options: -pghpf -heapz n. |
-Mrpm1 |
Link a version of the HPF runtime libraries and startup routines for the PGI RPM single-process environment for debugging (valid only on certain platforms).. |
-M[no]sequence |
All variables are created as SEQUENCE variables, where sequential storage is assumed. With -Mnosequence, all variables are created as nonsequential variables unless an explicit SEQUENCE directive is supplied or the variable is an assumed size array. |
-Msmp |
Perform compilation for a shared memory system. When compiling with this option, the execution run should include the two options: -pghpf -heapz n. |
-Mstats |
Link a version of the runtime libraries for printing runtime communications and message passing statistics. |
-Mstandard |
Causes the compiler to flag source code that does not conform to the ANSI Fortran 90 standard. |
-Mupcase |
Allow uppercase letters in identifiers. |
Selects options for the PGHPF compiler and for code generation.