Copyright © 2007. Advanced Micro Devices. All rights reserved.
-L
MPI wrapper script for a C compiler.
The wrapper script provides all the needed include directories and
libraries needed to compile programs for MPI.
-L
MPI wrapper script for a C++ compiler.
The wrapper script provides all the needed include directories and
libraries needed to compile programs for MPI.
-L
MPI wrapper script for a Fortran compiler.
The wrapper script provides all the needed include directories and
libraries needed to compile programs for MPI.
-L
MPI wrapper script for a C compiler.
The wrapper script provides all the needed include directories and
libraries needed to compile programs for MPI.
-L
MPI wrapper script for a Fortran compiler.
The wrapper script provides all the needed include directories and
libraries needed to compile programs for MPI.
SPEC_MPI_LC_TRAILING_DOUBLE_UNDERSCORE lowercase the name and append 2 underscores.
SPEC_MPI_DOUBLE_UNDERSCORE may be used in SPEC MPI2007.
There is a name conflict between stdio.h and the MPI C++ binding with respect to the names SEEK_SET, SEEK_CUR, and SEEK_END. MPI wants these in the MPI namespace, but stdio.h will #define these to integer values. #undef'ing these can cause obscure problems with other include files (such as iostream), so MPICH2 instead uses #error to indicate a fatal error. Users can either #undef the names before including mpi.h or include mpi.h *before* stdio.h or iostream. Alternately, passing this flag causes MPICH2 to ignore this naming conflict.
This flag should be used if C function names need to have two underscores appended in order for them to be callable by Fortran functions.
SPEC_MPI_DOUBLE_UNDERSCORE may be used in SPEC MPI2007.
This macro indicates that the benchmark is being compiled on a Linux system.
If -funderscoring is in effect, and the original Fortran external identifier contained an underscore, -fsecond-underscore appends a second underscore to the one added by -funderscoring. -fno-second-underscore does not append a second underscore. The default is both -funderscoring and -fsecond-underscore, the same defaults as g77 uses. -fno-second-underscore corresponds to the default policies of PGI Fortran and Intel Fortran.
Some portability flags were found in optimization variables.
Specify the basic level of optimization desired.
The options can be one of the following:
0 Turn off all optimizations.
1 Turn on local optimizations that can be done quickly. Do peephole optimizations and instruction scheduling.
2 Turn on extensive optimization.
This is the default.
The optimizations at this level are generally conservative,
in the sense that they are virtually always beneficial and
avoid changes which affect
such things as floating point accuracy. In addition to the level
1 optimizations, do inner loop
unrolling, if-conversion, two passes of instruction scheduling,
global register allocation, dead store elimination,
instruction scheduling across basic blocks,
and partial redundancy elimination.
3 Turn on aggressive optimization.
The optimizations at this level are distinguished from -O2
by their aggressiveness, generally seeking highest-quality
generated code even if it requires extensive compile time.
They may include optimizations that are generally beneficial
but may hurt performance.
This includes but is not limited to turning on the
Loop Nest Optimizer, -LNO:opt=1, and setting
-OPT:roundoff=1:IEEE_arithmetic=2:Olimit=9000:reorg_common=ON.
s Specify that code size is to be given priority in tradeoffs with execution time.
If no value is specified, 2 is assumed.-LANG:copyinout : This is a workaround suggested by Qlogic for a severe performance bug in the Pathscale 2.5 Fortran compiler. Several benchmarks (e.g. 121.pop2) take an excessive amount of time to run without specifying this flag.
Specify the basic level of optimization desired.
The options can be one of the following:
0 Turn off all optimizations.
1 Turn on local optimizations that can be done quickly. Do peephole optimizations and instruction scheduling.
2 Turn on extensive optimization.
This is the default.
The optimizations at this level are generally conservative,
in the sense that they are virtually always beneficial and
avoid changes which affect
such things as floating point accuracy. In addition to the level
1 optimizations, do inner loop
unrolling, if-conversion, two passes of instruction scheduling,
global register allocation, dead store elimination,
instruction scheduling across basic blocks,
and partial redundancy elimination.
3 Turn on aggressive optimization.
The optimizations at this level are distinguished from -O2
by their aggressiveness, generally seeking highest-quality
generated code even if it requires extensive compile time.
They may include optimizations that are generally beneficial
but may hurt performance.
This includes but is not limited to turning on the
Loop Nest Optimizer, -LNO:opt=1, and setting
-OPT:roundoff=1:IEEE_arithmetic=2:Olimit=9000:reorg_common=ON.
s Specify that code size is to be given priority in tradeoffs with execution time.
If no value is specified, 2 is assumed.-LANG:copyinout : This is a workaround suggested by Qlogic for a severe performance bug in the Pathscale 2.5 Fortran compiler. Several benchmarks (e.g. 121.pop2) take an excessive amount of time to run without specifying this flag.
Specify the basic level of optimization desired.
The options can be one of the following:
0 Turn off all optimizations.
1 Turn on local optimizations that can be done quickly. Do peephole optimizations and instruction scheduling.
2 Turn on extensive optimization.
This is the default.
The optimizations at this level are generally conservative,
in the sense that they are virtually always beneficial and
avoid changes which affect
such things as floating point accuracy. In addition to the level
1 optimizations, do inner loop
unrolling, if-conversion, two passes of instruction scheduling,
global register allocation, dead store elimination,
instruction scheduling across basic blocks,
and partial redundancy elimination.
3 Turn on aggressive optimization.
The optimizations at this level are distinguished from -O2
by their aggressiveness, generally seeking highest-quality
generated code even if it requires extensive compile time.
They may include optimizations that are generally beneficial
but may hurt performance.
This includes but is not limited to turning on the
Loop Nest Optimizer, -LNO:opt=1, and setting
-OPT:roundoff=1:IEEE_arithmetic=2:Olimit=9000:reorg_common=ON.
s Specify that code size is to be given priority in tradeoffs with execution time.
If no value is specified, 2 is assumed.-LANG:copyinout : This is a workaround suggested by Qlogic for a severe performance bug in the Pathscale 2.5 Fortran compiler. Several benchmarks (e.g. 121.pop2) take an excessive amount of time to run without specifying this flag.
Specify the basic level of optimization desired.
The options can be one of the following:
0 Turn off all optimizations.
1 Turn on local optimizations that can be done quickly. Do peephole optimizations and instruction scheduling.
2 Turn on extensive optimization.
This is the default.
The optimizations at this level are generally conservative,
in the sense that they are virtually always beneficial and
avoid changes which affect
such things as floating point accuracy. In addition to the level
1 optimizations, do inner loop
unrolling, if-conversion, two passes of instruction scheduling,
global register allocation, dead store elimination,
instruction scheduling across basic blocks,
and partial redundancy elimination.
3 Turn on aggressive optimization.
The optimizations at this level are distinguished from -O2
by their aggressiveness, generally seeking highest-quality
generated code even if it requires extensive compile time.
They may include optimizations that are generally beneficial
but may hurt performance.
This includes but is not limited to turning on the
Loop Nest Optimizer, -LNO:opt=1, and setting
-OPT:roundoff=1:IEEE_arithmetic=2:Olimit=9000:reorg_common=ON.
s Specify that code size is to be given priority in tradeoffs with execution time.
If no value is specified, 2 is assumed.-LANG:copyinout : This is a workaround suggested by Qlogic for a severe performance bug in the Pathscale 2.5 Fortran compiler. Several benchmarks (e.g. 121.pop2) take an excessive amount of time to run without specifying this flag.
Compiler directive to look in current directory for header files.
Compiler directive to look in current directory for header files.
Compiler directive to look in current directory for header files.
Flag description origin markings:
For questions about the meanings of these flags, please contact the tester.
For other inquiries, please contact [email protected]
Copyright 2006-2010 Standard Performance Evaluation Corporation
Tested with SPEC MPI2007 v60.
Report generated on Tue Apr 13 15:44:55 2010 by SPEC MPI2007 flags formatter v1412.