Table on page160 lists the assumptions that the optimizer makes about your program when you compile with +Oconservative, +Oaggressive, or neither option (the default). The table also lists the
Table 30 Conservative, aggressive, and default optimizations
Specified options | Assumptions | Invoked options | |
|
|
|
|
+Onoconservative+Onoaggressive(the | • | +Onoentrysched | |
default) |
|
| +Omoveflops |
|
|
| |
|
|
| +Onoparmsoverlap |
|
|
| +Onovectorize |
|
|
|
|
+Oconservative | • | Nonstandard | +Ofltacc |
| • | Sensitive to rounding | +Onomoveflops |
|
| differences | +Oparmsoverlap |
| • Contains |
| |
|
| expressions that must be |
|
|
| evaluated in the specified order |
|
| • | Procedure arguments may |
|
|
| overlap |
|
|
|
|
|
+Oaggressive | • |
| • Contains |
| expressions that permit |
| |
| • Does not contain uninitialized |
| variables |
+Oentrysched
+Onofltacc
+Onoinitcheck
+Ovectorize
NOTE: The +Oaggressiveand +Oconservative options are valid only on the
Parallelizing HP Fortran programs
The following sections discuss how to use the +Oparallel option and the parallel directives when preparing and compiling HP Fortran programs for parallel execution. Later sections also discuss reasons why the compiler may not have performed parallelization. The last section describes runtime warning and error messages unique to
For a description of the +Oparalleloption, see
NOTE: The +Oparalleloption is not available on Integrity systems for HP Fortran Version 3.2 and later. You must use the +Oautop ar option instead to parallelize loops.
Compiling for parallel execution
The following command lines compile (without linking) three source files: x.f90, y.f90, and z.f90. The files x.f90and y.f90are compiled for parallel execution. The file z.f90 is compiled for serial execution, even though its object file will be linked with x.oandy.o.
f90 +O3 +Oparallel
f90 +O3
The following command line links the three object files, producing the executable file para_prog:
f90 +O3 +Oparallel
100 Performance and optimization