From 9e7fa2b5a93f72d7d856ca535ec0624d59de7d18 Mon Sep 17 00:00:00 2001 From: Fabian Castelli Date: Mon, 7 Jun 2021 12:47:58 +0200 Subject: [PATCH] Update trilinos package --- deal.II-toolchain/packages/dealii.package | 12 +- deal.II-toolchain/packages/trilinos.package | 183 ++++++++++---------- 2 files changed, 93 insertions(+), 102 deletions(-) diff --git a/deal.II-toolchain/packages/dealii.package b/deal.II-toolchain/packages/dealii.package index 5b06381..619148d 100644 --- a/deal.II-toolchain/packages/dealii.package +++ b/deal.II-toolchain/packages/dealii.package @@ -149,10 +149,9 @@ if [ ! -z "${HDF5_DIR}" ]; then -D HDF5_DIR=${HDF5_DIR}" fi -# trilinos +######################################## +# TRILINOS if [[ ${PACKAGES_OFF} =~ 'trilinos' ]]; then - # Disable trilinos for deal.II, if a special DEAL_II_CONFOPTS together with - # the dealii-prepare loop forces trilinos to be off if [ ! -z "${TRILINOS_DIR}" ]; then cecho ${INFO} "deal.II: unset TRILINOS_DIR due to forced DEAL_II_WITH_TRILINOS:BOOL=OFF option" unset TRILINOS_DIR @@ -161,10 +160,9 @@ fi if [ ! -z "${TRILINOS_DIR}" ]; then cecho ${INFO} "deal.II: configuration with TRILINOS" - CONFOPTS="\ - ${CONFOPTS} \ - -D DEAL_II_WITH_TRILINOS:BOOL=ON \ - -D TRILINOS_DIR=${TRILINOS_DIR}" + CONFOPTS="${CONFOPTS} \ + -D DEAL_II_WITH_TRILINOS:BOOL=ON \ + -D TRILINOS_DIR=${TRILINOS_DIR}" fi # petsc diff --git a/deal.II-toolchain/packages/trilinos.package b/deal.II-toolchain/packages/trilinos.package index e4c0b3a..4a33928 100644 --- a/deal.II-toolchain/packages/trilinos.package +++ b/deal.II-toolchain/packages/trilinos.package @@ -1,3 +1,7 @@ +################################################################################ +## TRILINOS ## +################################################################################ + if [ -z "${TRILINOS_MAJOR_VERSION}" ]; then TRILINOS_MAJOR_VERSION=AUTO fi @@ -19,20 +23,20 @@ elif [ ${TRILINOS_MAJOR_VERSION} = "12" ]; then VERSION=12-18-1 CHECKSUM=9c1d151169949bca6cf203831e4d6aee - #VERSION=12-14-1 - #CHECKSUM=de912cca43c2ca3b74aa08528ac39dbd + # VERSION=12-14-1 + # CHECKSUM=de912cca43c2ca3b74aa08528ac39dbd - #VERSION=12-12-1 - #CHECKSUM=ecd4606fa332212433c98bf950a69cc7 + # VERSION=12-12-1 + # CHECKSUM=ecd4606fa332212433c98bf950a69cc7 # note: the official trilinos tarball changed md5sum but we confirmed that the contents is # identical. We accept both hashes here. - #VERSION=12-10-1 - #CHECKSUM="667333dbd7c0f031d47d7c5511fd0810 40f28628b63310f9bd17c26d9ebe32b1" + # VERSION=12-10-1 + # CHECKSUM="667333dbd7c0f031d47d7c5511fd0810 40f28628b63310f9bd17c26d9ebe32b1" - #VERSION=12-4-2 - #CHECKSUM=4c25a757d86bde3531090bd900a2cea8 + # VERSION=12-4-2 + # CHECKSUM=4c25a757d86bde3531090bd900a2cea8 SOURCE=https://github.com/trilinos/Trilinos/archive/ NAME=trilinos-release-${VERSION} @@ -57,7 +61,6 @@ elif [ ${TRILINOS_MAJOR_VERSION} = "11" ]; then NAME=trilinos-release-${VERSION} EXTRACTSTO=Trilinos-trilinos-release-${VERSION} PACKING=.tar.gz - else cecho ${BAD} "Unknown Trilinos version ${TRILINOS_MAJOR_VERSION} forced, please use AUTO|12|11." exit @@ -67,26 +70,24 @@ BUILDCHAIN=cmake INSTALL_PATH=${INSTALL_PATH}/${NAME} -######################################################################### +################################################################################ # If you have further options for trilinos, please set: #TRILINOS_CONFOPTS="" -######################################################################### +################################################################################ # Please do not change the following options # Set blas and lapack directories if [ ! -z "${BLAS_DIR}" ]; then cecho ${INFO} "trilinos: configuration with BLAS_DIR=${BLAS_DIR}" - CONFOPTS="\ - ${CONFOPTS} \ - -D BLAS_LIBRARY_DIRS:STRING=${BLAS_DIR}" + CONFOPTS="${CONFOPTS} \ + -D BLAS_LIBRARY_DIRS:STRING=${BLAS_DIR}" fi if [ ! -z "${LAPACK_DIR}" ]; then cecho ${INFO} "trilinos: configuration with LAPACK_DIR=${LAPACK_DIR}" - CONFOPTS=" - ${CONFOPTS} \ - -D LAPACK_LIBRARY_DIRS:STRING=${LAPACK_DIR}" + CONFOPTS="${CONFOPTS} \ + -D LAPACK_LIBRARY_DIRS:STRING=${LAPACK_DIR}" fi # Set intel MKL options @@ -96,124 +97,116 @@ if [ "${MKL}" = "ON" ]; then if [ -z "${BLAS_DIR}" ] && [ -z "${LAPACK_DIR}" ]; then cecho ${INFO} "trilinos: configuration with BLAS_DIR=${MKL_DIR}" cecho ${INFO} "trilinos: configuration with LAPACK_DIR=${MKL_DIR}" - CONFOPTS=" \ - ${CONFOPTS} \ - -D BLAS_LIBRARY_DIRS:STRING=${MKL_DIR} \ - -D LAPACK_LIBRARY_DIRS:STRING=${MKL_DIR}" + CONFOPTS="${CONFOPTS} \ + -D BLAS_LIBRARY_DIRS:STRING=${MKL_DIR} \ + -D LAPACK_LIBRARY_DIRS:STRING=${MKL_DIR}" fi # Trilinos will complain that MKL does not support HAVE_TEUCHOS_BLASFLOAT. See # the discussion in https://github.com/dealii/candi/pull/92 for more details. cecho ${INFO} "trilinos: disabling some Tpetra instantiations because you are using MKL" - CONFOPTS=" \ - ${CONFOPTS} \ - -D BLAS_LIBRARY_NAMES:STRING='mkl_core;mkl_sequential' \ - -D Tpetra_INST_FLOAT=OFF \ - -D Tpetra_INST_COMPLEX_FLOAT=OFF \ - -D LAPACK_LIBRARY_NAMES:STRING=mkl_intel_lp64" - + CONFOPTS="${CONFOPTS} \ + -D BLAS_LIBRARY_NAMES:STRING='mkl_core;mkl_sequential' \ + -D Tpetra_INST_FLOAT:BOOL=OFF \ + -D Tpetra_INST_COMPLEX_FLOAT:BOOL=OFF \ + -D LAPACK_LIBRARY_NAMES:STRING=mkl_intel_lp64" else if [ ! -z "${BLAS_LIB}" ]; then # We need to specify the full name if using openblas.package: cecho ${INFO} "trilinos: configuration with BLAS_LIB=${BLAS_LIB}" - CONFOPTS=" - ${CONFOPTS} \ - -D TPL_BLAS_LIBRARIES:STRING=${BLAS_LIB} \ - -D TPL_LAPACK_LIBRARIES:STRING=${BLAS_LIB}" + CONFOPTS="${CONFOPTS} \ + -D TPL_BLAS_LIBRARIES:STRING=${BLAS_LIB} \ + -D TPL_LAPACK_LIBRARIES:STRING=${BLAS_LIB}" fi fi # Set compilers & compiler options if [ ! -z "${CC}" ]; then - CONFOPTS="\ - ${CONFOPTS} \ - -D CMAKE_C_COMPILER=${CC}" + CONFOPTS="${CONFOPTS} \ + -D CMAKE_C_COMPILER=${CC}" fi if [ ! -z "${CXX}" ]; then - CONFOPTS="\ - ${CONFOPTS} \ - -D CMAKE_CXX_COMPILER=${CXX}" + CONFOPTS="${CONFOPTS} \ + -D CMAKE_CXX_COMPILER=${CXX}" fi if [ ! -z "${FC}" ]; then - CONFOPTS="\ - ${CONFOPTS} \ - -D CMAKE_Fortran_COMPILER=${FC}" + CONFOPTS="${CONFOPTS} \ + -D CMAKE_Fortran_COMPILER=${FC}" fi CONFOPTS="${CONFOPTS} \ - -D CMAKE_CXX_FLAGS:STRING=-fPIC -g -O3 \ - -D CMAKE_C_FLAGS:STRING=-fPIC -g -O3 \ - -D CMAKE_FORTRAN_FLAGS:STRING=-g -O5 \ - -D Trilinos_EXTRA_LINK_FLAGS:STRING=-lgfortran" + -D CMAKE_CXX_FLAGS:STRING=-fPIC -g -O3 \ + -D CMAKE_C_FLAGS:STRING=-fPIC -g -O3 \ + -D CMAKE_FORTRAN_FLAGS:STRING=-g -O5 \ + -D Trilinos_EXTRA_LINK_FLAGS:STRING=-lgfortran" # Add ParMETIS, if present if [ ! -z "${PARMETIS_DIR}" ]; then cecho ${INFO} "trilinos: configuration with ParMETIS" - + # NOTE: if parmetis v4.0.3 is not found, but installed, add # -D HAVE_PARMETIS_VERSION_4_0_3=ON" - - CONFOPTS="\ - ${CONFOPTS} \ - ${TRILINOS_PARMETIS_CONFOPTS} \ - -D TPL_ENABLE_ParMETIS:BOOL=ON \ - -D TPL_ParMETIS_LIBRARIES:FILEPATH='${PARMETIS_DIR}/lib/libparmetis.${LDSUFFIX};${PARMETIS_DIR}/lib/libmetis.${LDSUFFIX}' \ - -D TPL_ParMETIS_INCLUDE_DIRS:PATH=${PARMETIS_DIR}/include" + + CONFOPTS="${CONFOPTS} \ + ${TRILINOS_PARMETIS_CONFOPTS} \ + -D TPL_ENABLE_ParMETIS:BOOL=ON \ + -D TPL_ParMETIS_LIBRARIES:FILEPATH='${PARMETIS_DIR}/lib/libparmetis.${LDSUFFIX};${PARMETIS_DIR}/lib/libmetis.${LDSUFFIX}' \ + -D TPL_ParMETIS_INCLUDE_DIRS:PATH=${PARMETIS_DIR}/include" fi # Add SuperLU_dist, if present if [ ! -z "${SUPERLU_DIR}" ]; then cecho ${INFO} "trilinos: configuration with SuperLU_dist" - - CONFOPTS="\ - ${CONFOPTS} \ - -D TPL_ENABLE_SuperLUDist:BOOL=ON \ - -D TPL_SuperLUDist_LIBRARIES:FILEPATH=${SUPERLU_DIR}/lib/libsuperlu_dist.${LDSUFFIX} \ - -D SuperLUDist_INCLUDE_DIRS:PATH=${SUPERLU_DIR}/include \ - -D HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG:BOOL=ON \ - -D HAVE_SUPERLUDIST_ENUM_NAMESPACE:BOOL=ON" + + CONFOPTS="${CONFOPTS} \ + -D TPL_ENABLE_SuperLUDist:BOOL=ON \ + -D TPL_SuperLUDist_LIBRARIES:FILEPATH=${SUPERLU_DIR}/lib/libsuperlu_dist.${LDSUFFIX} \ + -D SuperLUDist_INCLUDE_DIRS:PATH=${SUPERLU_DIR}/include \ + -D HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG:BOOL=ON \ + -D HAVE_SUPERLUDIST_ENUM_NAMESPACE:BOOL=ON" fi ######################################################################### # General Trilinos configuration -CONFOPTS="-D TPL_ENABLE_MPI:BOOL=ON \ - -D Trilinos_ENABLE_OpenMP:BOOL=OFF \ - -D TPL_ENABLE_TBB:BOOL=OFF \ - -D Trilinos_VERBOSE_CONFIGURE:BOOL=FALSE \ - -D Trilinos_ENABLE_Amesos=ON \ - -D Trilinos_ENABLE_Epetra=ON \ - -D Trilinos_ENABLE_EpetraExt=ON \ - -D Trilinos_ENABLE_Ifpack=ON \ - -D Trilinos_ENABLE_Ifpack2=OFF \ - -D Trilinos_ENABLE_Tpetra=ON \ - -D Tpetra_INST_DOUBLE=ON \ - -D Tpetra_INST_INT_LONG=ON \ - -D Tpetra_INST_COMPLEX_DOUBLE=ON \ - -D Tpetra_INST_COMPLEX_FLOAT=ON \ - -D Tpetra_INST_FLOAT=ON \ - -D Tpetra_INST_SERIAL=ON \ - -D Trilinos_ENABLE_AztecOO=ON \ - -D Trilinos_ENABLE_Sacado=ON \ - -D Trilinos_ENABLE_Teuchos=ON \ - -D Teuchos_ENABLE_COMPLEX:BOOL=ON \ - -D Teuchos_ENABLE_FLOAT:BOOL=ON \ - -D Trilinos_ENABLE_MueLu=ON \ - -D Trilinos_ENABLE_ML=ON \ - -D Trilinos_ENABLE_ROL=ON \ - -D Trilinos_ENABLE_Zoltan=ON \ - -D Trilinos_ENABLE_Stratimikos:BOOL=ON \ - -D TPL_ENABLE_Boost=OFF \ - -D Trilinos_ENABLE_Belos:BOOL=ON \ - -D Trilinos_ENABLE_Amesos2:BOOL=ON \ - -D CMAKE_BUILD_TYPE:STRING=RELEASE \ - -D CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE \ - -D BUILD_SHARED_LIBS:BOOL=ON \ - ${CONFOPTS} \ - ${TRILINOS_CONFOPTS}" +CONFOPTS="\ + -D TPL_ENABLE_MPI:BOOL=ON \ + -D Trilinos_ENABLE_OpenMP:BOOL=OFF \ + -D TPL_ENABLE_TBB:BOOL=OFF \ + -D Trilinos_VERBOSE_CONFIGURE:BOOL=OFF \ + -D Trilinos_ENABLE_Amesos:BOOL=ON \ + -D Trilinos_ENABLE_Epetra:BOOL=ON \ + -D Trilinos_ENABLE_EpetraExt:BOOL=ON \ + -D Trilinos_ENABLE_Ifpack:BOOL=ON \ + -D Trilinos_ENABLE_Ifpack2:BOOL=OFF \ + -D Trilinos_ENABLE_Tpetra:BOOL=ON \ + -D Tpetra_INST_DOUBLE:BOOL=ON \ + -D Tpetra_INST_INT_LONG:BOOL=ON \ + -D Tpetra_INST_COMPLEX_DOUBLE:BOOL=ON \ + -D Tpetra_INST_COMPLEX_FLOAT:BOOL=ON \ + -D Tpetra_INST_FLOAT:BOOL=ON \ + -D Tpetra_INST_SERIAL:BOOL=ON \ + -D Trilinos_ENABLE_AztecOO:BOOL=ON \ + -D Trilinos_ENABLE_Sacado:BOOL=ON \ + -D Trilinos_ENABLE_Teuchos:BOOL=ON \ + -D Teuchos_ENABLE_COMPLEX:BOOL=ON \ + -D Teuchos_ENABLE_FLOAT:BOOL=ON \ + -D Trilinos_ENABLE_MueLu:BOOL=ON \ + -D Trilinos_ENABLE_ML:BOOL=ON \ + -D Trilinos_ENABLE_ROL:BOOL=ON \ + -D Trilinos_ENABLE_Zoltan:BOOL=ON \ + -D Trilinos_ENABLE_Stratimikos:BOOL=ON \ + -D TPL_ENABLE_Boost:BOOL=OFF \ + -D Trilinos_ENABLE_Belos:BOOL=ON \ + -D Trilinos_ENABLE_Amesos2:BOOL=ON \ + -D CMAKE_BUILD_TYPE:STRING=RELEASE \ + -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \ + -D BUILD_SHARED_LIBS:BOOL=ON \ + ${CONFOPTS} \ + ${TRILINOS_CONFOPTS}" package_specific_register () { export TRILINOS_DIR=${INSTALL_PATH} -- 2.39.5