From 82be08b34a56f0d3e25ec8870e36ad59b4f1f619 Mon Sep 17 00:00:00 2001 From: Elena Pourmal Date: Fri, 8 Oct 2010 15:57:17 -0500 Subject: [svn-r19566] Maintenance: Added -O3 to be used with the C Intel v 11 compilers; set default to -O for all unknown versions of the C Intel compilers. Modified apple config file to display Intel compiler information. Updated RELEASE.txt notes accordingly. Platfroms tested: jam, amani and dubna (Mac 64-bit) with Intel C, Fortran and C++ compilers. --- config/apple | 21 +++++++++++++++++++++ config/intel-flags | 14 +++++++------- release_docs/RELEASE.txt | 1 + 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/config/apple b/config/apple index 10674fb..babcdad 100644 --- a/config/apple +++ b/config/apple @@ -62,6 +62,11 @@ case $CC in grep 'GCC' | sed 's/.*\((GCC) [-a-z0-9\. ]*.*\)/\1/'` ;; + *icc*) + cc_version_info=`$CC $CCFLAGS $H5_CCFLAGS -V 2>&1 | grep 'Version' |\ + sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` + ;; + *) echo "No match to get cc_version_info for $CC" ;; @@ -72,6 +77,16 @@ case $FC in fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\ grep 'GCC' | sed 's/\(.*(GCC) [-a-z0-9\. ]*\).*/\1/'` ;; + + *ifc*|*ifort*) + fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 | grep 'Version' |\ + sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` + ;; + + *) + echo "No match to get fc_version_info for $FC" + ;; + esac # get c++ version info @@ -80,6 +95,12 @@ case $CXX in cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\ grep 'GCC' | sed 's/.*\((GCC) [-a-z0-9\. ]*.*\)/\1/'` ;; + + *icpc*) + cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS -V 2>&1 | grep 'Version' |\ + sed 's/\(Intel.* Compiler\).*\( Version [a-z0-9\.]*\).*\( Build [0-9]*\)/\1\2\3/'` + ;; + *) echo "No match to get cxx_version_info for $CXX" ;; diff --git a/config/intel-flags b/config/intel-flags index 5bf06d4..e6a9c31 100644 --- a/config/intel-flags +++ b/config/intel-flags @@ -70,13 +70,8 @@ if test "X-icc" = "X-$cc_vendor"; then # Default to C99 standard. H5_CFLAGS="${H5_CFLAGS:--std=c99 $arch}" - # Production - # -Wl,-s to remove all symbols for smaller file - # O3 optimization causes compilation failures on many platforms; - # the problem exists in all versions of the icc compiler up to the latest 9.1 - # I changed optimization flag to default -O2. EIP, 2006-08-15 - #PROD_CFLAGS="-O3 -Wl,-s" - PROD_CFLAGS="-O2 -Wl,-s" + # Production is set to default; see settings for specific version further down + PROD_CFLAGS="-O" PROD_CPPFLAGS= # Debug @@ -98,6 +93,11 @@ fi # Please follow the pattern below by adding new versions at the top, copying # the information from the previous version and adding modifications to that. case "$cc_vendor-$cc_version" in + icc-11*) + # -s became obsolete; we also fixed bugs that allow us to enable higher level + # of optimization starting with 1.8.7 + PROD_CFLAGS="-O3" + ;; icc-10*) PROD_CFLAGS="-O1 -Wl,-s" ;; diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index c4543ad..54063b1 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -240,6 +240,7 @@ New Features Support for new platforms, languages and compilers. ======================================= + - Intel V11.1 uses now -O3 optimization in production mode (EIP - 2010/10/08) - PathScale compilers are recognized and can build the HDF5 library properly. AKC - 2009/7/28 - -- cgit v0.12