[Patches] aix known-architectures for XLC/XLF
Steve White
steve.white at aei.mpg.de
Fri Apr 7 09:16:02 CDT 2006
Hello,
Included is a patch for the AIX known-architectures file, meant to
improve performance for the IBM XLC/XLF compilers.
I made the default optimization to be
-O3 -qarch=auto -qtune=auto -qcache=auto -qhot
for all the IBM compilers.
I also made XLF to suppress congratulatory messages ("Yay! I compiled!)
on successful compilation.
I tested -02 through -O5. On BSSNCarpet runs, "-O3 -qhot" performed
best--but beware, it moves instructions. While turning on -qstrict
fixes this, it also degrades performance. The -qarch=auto causes the
code to be customized for the architecture on which it is compiled.
The higher levels turn on -qipa which does global optimizations and
work best if this option is also supplied at link time.
See http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp
--
Steve White : Programmer
Max-Planck-Institut für Gravitationsphysik Albert-Einstein-Institut
Am Mühlenberg 1, D-14476 Golm, Germany +49-331-567-7625
-------------- next part --------------
Index: aix
===================================================================
RCS file: /cactusdevcvs/Cactus/lib/make/known-architectures/aix,v
retrieving revision 1.27
diff -r1.27 aix
53,56c53,55
< : ${F90FLAGS="-q$AIX_BITS -qmaxmem=-1 -qspill=10000"}
< : ${F77FLAGS="-q$AIX_BITS -qmaxmem=-1"}
< : ${F90_OPTIMISE_FLAGS='-O5'}
< : ${F77_OPTIMISE_FLAGS='-O5'}
---
> # suppress congratulatory message on successful compilation
> : ${F90FLAGS="-q$AIX_BITS -qextname -qsuppress=1501-510:cmpmsg"}
> : ${F77FLAGS="-q$AIX_BITS -qextname -qsuppress=1501-510:cmpmsg"}
76a76,83
> # NOTE IBM XLC/XLF optimizations.
> # Tested -02 through -O5. On BSSNCarpet runs, "-O3 -qhot" performed
> # best--but beware, it moves instructions. While turning on -qstrict
> # fixes this, it also degrades performance. The -qarch=auto causes the
> # code to be customized for the architecture on which it is compiled.
> # The higher levels turn on -qipa which does global optimizations and
> # work best if this option is also supplied at link time. --SW
>
86c93,94
< : ${CFLAGS="-q$AIX_BITS -qspill=17000 -qmaxmem=-1 -qlanglvl=stdc99"}
---
> : ${CFLAGS="-q$AIX_BITS -qlanglvl=stdc99"}
> : ${C_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"}
101c109,110
< : ${CXXFLAGS="-q$AIX_BITS -qspill=10000 -qmaxmem=-1"}
---
> : ${CXXFLAGS="-q$AIX_BITS"}
> : ${CXX_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"}
107a117,138
> case "$F90" in
> xlf|xlf_r|xlf90|xlf90_r)
> : ${F90_DEPEND='$(F90) -E -M $(F90FLAGS)'}
> : ${F90FLAGS="-q$AIX_BITS"}
> : ${F90_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"}
> ;;
> *)
> : ${F90_OPTIMISE_FLAGS="-O3"}
> ;;
> esac
>
> case "$F77" in
> xlf|xlf_r|xlf77|xlf77_r|xlf90|xlf90_r)
> : ${F77_DEPEND='$(F77) -E -M $(F77FLAGS)'}
> : ${FF77LAGS="-q$AIX_BITS"}
> : ${F77_OPTIMISE_FLAGS="-O3 -qarch=auto -qtune=auto -qcache=auto -qhot"}
> ;;
> *)
> : ${F77_OPTIMISE_FLAGS="-O3"}
> ;;
> esac
>
More information about the Patches
mailing list