Purdue Flag Disclosure for AMD + Linux SPEC HPC2002 Last Revised: October 9, 2003 ----------------------------------------------------------------- MPICH 1.2.5.2: downloaded at ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz Commands to build mpich setenv CC icc setenv FC ifc setenv CXX icc setenv F90 ifc setenv CCC icc configure --with-device=ch_shmem make (make install) mpicc script: 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/home/seconds/a/yzheng/opt/mpich-1.2.5.2-icc-ch_shmem-install/lib -lmpich mpif90 script: ln -s /home/seconds/a/yzheng/opt/mpich-1.2.5.2-icc-ch_shmem-install/include/mpif.h mpif.h ifc -L/home/seconds/a/yzheng/opt/mpich-1.2.5.2-icc-ch_shmem-install/lib -lmpichf90 -lmpich -lPEPCF90 rm mpif.h ----------------------------------------------------------------- Description of compiler flags for Intel Fortran & C++ Compiler 7.1 for Linux -O1 Enable optimizations -O2 Same as -O1 (DEFAULT) -O3 Enable -O2 plus more aggressive optimizations that may not improve performance for all programs -Ob Control inline expansion: n=0 -- Disables inlining n=1 -- Inline functions declared with __inline, and per- form C++ inlining n=2 -- Inline any function, at the compiler's discretion (same as -ip) -ip Enable single-file IP optimizations (within files) -ipo Enable multi-file IP optimizations (between files) -pc32 Set internal FPU precision to 24 bit significand -unroll[n] Set maximum number of times to unroll loops. Omit n to use default heuristics. Use n=0 to disable loop unroller. -openmp Enable the compiler to generate multi-threaded code based on the OpenMP directives -fpp[n] Run Fortran preprocessor on source files prior to compi- lation n=0 disable CVF and # directives, equivalent to no fpp n=1 enable CVF conditional compilation and # directives (DEFAULT) n=2 enable only # directives n=3 enable only CVF conditional compilation directives -E Preprocess to stdout -D[=] Define macro -I Add directory to include file search path -Vaxlib Link with portability library -static Prevents linking with shared libraries -shared Produce a shared object