Purdue University Flag Disclosure for Intel + Linux SPEC HPC2002 March 29, 2005 ------------------------------------------------------------------------------ MPICH 1.2.6: downloaded at ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz Commands script to install MPICH library MPI_ROOT=/opt/mpich-1.2.6 CVER=p4-intel CLOC=/opt/intel_cc_80/bin FLOC=/opt/intel_fc_80/bin make clean ./configure --prefix=$MPI_ROOT/$CVER --with-common-prefix=$MPI_ROOT \ --with-device=ch_p4 --disable-sharedlib -cc=$CLOC/icc -c++=$CLOC/icc \ -fc=$FLOC/ifort -f90=$FLOC/ifort -rsh=/usr/bin/rsh make make install mpicc script: /opt/intel_cc_80/bin/icc -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -L/opt/mpich-1.2.6/p4-intel/lib -lpmpich -lmpich mpif90 script: /opt/intel_fc_80/bin/ifort -L/opt/mpich-1.2.6/p4-intel/lib -lmpichf90 -lpmpich -lmpich ------------------------------------------------------------------------------ Description of compiler flags for Intel Fortran and C++ Compiler 8.0 for Linux -O1 Optimize to favor code size and code locality Disables loop unrolling -O2 Optimize for code speed (default) -O3 Enables -O2 and in addition performs aggressive optimizations such as loop and memory access transformation -O0 Disable optimizations -O Same as -O2 -Ob Control inline expansion: n=0 -- Disables inlining n=1 -- Inline functions declared with __inline keyword, and perform inlining as per C++ language n=2 -- Inline any function, at the compiler's discretion (same as -ip) -fast Enhance speed across the entire program -tpp n=7,Optimizes for the Intel Pentium4/Xeon processors (default) -tune pn4 Optimizes for the Intel Pentium4 processors (default) -mcpu= Optimize for a specific cpu (cpu=pentium4) -mp Maintain floating-point precision -fp_port Rounds floating point results after floating-point operations -ax

p denotes the processor types, p=N, W generates code for Intel Pentium 4 processors -ftz Enables floating point underflow results set to zero (default) -ip Enables single-file interprocedural optimizations -ipo Enables multifile IP optimizations (between files) -ip_no_inlining Disable IP inlining (requires -ip or -ipo) -unroll0 Disable loop unrolling -openmp To generate multithreaded code based on OpenMP directives -parallel Enables auto-parallelizer to generate multithreaded code -prof_use Enables use of profiling information during optimization -x

p denotes the processor types, p=N, W generates code for Intel Pentium 4 processors -falias Assume aliasing (default) -fno-alias Assume no aliasing -ffnalias Assume aliasing within functions (default) -fno-fnalias Assume no aliasing within functions,but assume aliasing across calls -pad Enable changing variable and array memory layout (default) -nopad Disable changing variable and array memory layout -w Disable all warnings -Wall Enable all warnings -Wn Disable warnings (n=0) or show warnings (n=1, default) -E Preprocess to stdout -o Specify output file -nus Do not append an underscore to external subroutine names -nus[,] Do not append an underscore to subroutine names listed in -u Sets variables to IMPLICIT NONE (default). Same as specifying -implicitnone option -zero Implicitly initialize all data to zero -lowercase Change routine names to all lowercase (default) -uppercase Change routine names to all uppercase -auto Make all local variables AUTOMATIC -auto_scalar Make scalar local variables AUTOMATIC (default) -save Save all variables (static allocation) -D[=] Define macro -U Removes the predefined macro -I

Add directory to include file search path -L Instruct linker to search for libraries -Vaxlib Link with portability library -static Prevents linking with shared libraries -shared Produce a shared object -g Produce symbolic debug information in object file -inline_debug_info Preserve the source position of inlined code instead of assigning the call-site source position to inlined code -V Display compiler version information -help Prints list of compiler options