From ee8cdac2fb811813c5ae4f20d75cc4f156ea7fc8 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Fri, 26 Feb 2021 17:04:30 +0100 Subject: [PATCH] trilinos: build-block re-added to MPI group and deprecated all variants --- MPI/trilinos/build | 90 +++++++++++++++++++++++++++++++ MPI/trilinos/files/variants.rhel6 | 12 +++++ MPI/trilinos/modulefile | 17 ++++++ 3 files changed, 119 insertions(+) create mode 100755 MPI/trilinos/build create mode 100644 MPI/trilinos/files/variants.rhel6 create mode 100644 MPI/trilinos/modulefile diff --git a/MPI/trilinos/build b/MPI/trilinos/build new file mode 100755 index 0000000..2283e8e --- /dev/null +++ b/MPI/trilinos/build @@ -0,0 +1,90 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url \ + "https://github.com/$P/$P/tarball/$P-release-${V//./-}" \ + "$P-${V_PKG}.tar.gz" + +pbuild::set_sha256sum \ + "trilinos-12.12.1.tar.gz:c8f2029fa36230b9f384c56139aaa33111227bcf653e73f7daf3c9efdecc1d2d" + +declare -rx AR=ar + +pbuild::configure() { + declare config_args=() + if [[ "${OS}" == "Linux" ]]; then + BLAS_PREFIX="${OPENBLAS_PREFIX}" + BLAS_INCLUDE_DIRS="${BLAS_PREFIX}/include" + BLAS_LIBRARY_DIRS="${BLAS_PREFIX}/lib" + BLAS_LIBRARY_NAMES="openblas" + LAPACK_PREFIX="${OPENBLAS_PREFIX}" + + LAPACK_INCLUDE_DIRS="${LAPACK_PREFIX}/include" + LAPACK_LIBRARY_DIRS="${LAPACK_PREFIX}/lib" + LAPACK_LIBRARY_NAMES="openblas" + config_args+=( "-DBLAS_LIBRARY_DIRS:PATH=${BLAS_LIBRARY_DIRS}" ) + config_args+=( "-DBLAS_INCLUDE_DIRS:PATH=${BLAS_LIBRARY_DIRS}" ) + config_args+=( "-DBLAS_LIBRARY_NAMES:STRING=${BLAS_LIBRARY_NAMES}" ) + config_args+=( "-DLAPACK_LIBRARY_DIRS:PATH=${LAPACK_LIBRARY_DIRS}" ) + config_args+=( "-DLAPACK_INCLUDE_DIRS:PATH=${LAPACK_INCLUDE_DIRS}" ) + config_args+=( "-DLAPACK_LIBRARY_NAMES:STRING=${LAPACK_LIBRARY_NAMES}" ) + fi + + if (( V_MAJOR == 12 && V_MINOR >= 12)); then + config_args+=( "-DTrilinos_ENABLE_SEACAS:BOOL=OFF" ) + config_args+=( "-DTrilinos_ENABLE_OpenMP:BOOL=OFF" ) + config_args+=( "-DKokkos_ENABLE_Serial:BOOL=ON" ) + config_args+=( "-DKokkos_ENABLE_OpenMP:BOOL=OFF" ) + config_args+=( "-DKokkos_ENABLE_Pthread:BOOL=OFF" ) + config_args+=( "-DKokkos_ENABLE_Cuda:BOOL=OFF" ) + config_args+=( "-DKokkos_ENABLE_Cuda_UVM:BOOL=OFF" ) + config_args+=( "-DTpetra_INST_SERIAL:BOOL=ON" ) + config_args+=( "-DTrilinos_ENABLE_TESTS:BOOL=OFF" ) + config_args+=( "-DTrilinos_ENABLE_MueLu:BOOL=ON" ) + fi + + PARMETIS_INCLUDE_DIRS="${PARMETIS_PREFIX}/include" + PARMETIS_LIBRARIES="${PARMETIS_PREFIX}/lib/libparmetis.a" + METIS_INCLUDE_DIRS="${PARMETIS_PREFIX}/include/metis" + METIS_LIBRARIES="${PARMETIS_PREFIX}/lib/libmetis.a" + + cmake \ + -D CMAKE_BUILD_TYPE:STRING=Release \ + --prefix=$PREFIX \ + -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX \ + -DCMAKE_CXX_FLAGS:STRING="-DMPICH_IGNORE_CXX_SEEK -fPIC" \ + -DCMAKE_C_FLAGS:STRING="-DMPICH_IGNORE_CXX_SEEK -fPIC" \ + -DCMAKE_CXX_STANDARD:STRING="11" \ + -DCMAKE_Fortran_FLAGS:STRING="-fPIC" \ + -DTPL_ENABLE_DLlib:BOOL=OFF \ + -DTPL_ENABLE_QT:BOOL=OFF \ + -DTPL_ENABLE_MPI:BOOL=ON \ + -DTPL_ENABLE_BLAS:BOOL=ON \ + -DTPL_ENABLE_LAPACK:BOOL=ON \ + -DTPL_ENABLE_METIS:BOOL=ON \ + -DTPL_ENABLE_ParMETIS:BOOL=ON \ + -DTPL_METIS_INCLUDE_DIRS:PATH=$METIS_INCLUDE_DIRS \ + -DTPL_METIS_LIBRARIES:PATH=$METIS_LIBRARIES \ + -DTPL_ParMETIS_INCLUDE_DIRS:PATH=$PARMETIS_INCLUDE_DIRS \ + -DTPL_ParMETIS_LIBRARIES:PATH=$PARMETIS_LIBRARIES \ + -DTrilinos_ENABLE_Amesos:BOOL=ON \ + -DTrilinos_ENABLE_Amesos2:BOOL=ON \ + -DTrilinos_ENABLE_AztecOO:BOOL=ON \ + -DTrilinos_ENABLE_Belos:BOOL=ON \ + -DTrilinos_ENABLE_Epetra:BOOL=ON \ + -DTrilinos_ENABLE_EpetraExt:BOOL=ON \ + -DTrilinos_ENABLE_Galeri:BOOL=ON \ + -DTrilinos_ENABLE_Ifpack:BOOL=ON \ + -DTrilinos_ENABLE_Isorropia:BOOL=ON \ + -DTrilinos_ENABLE_ML:BOOL=ON \ + -DTrilinos_ENABLE_NOX:BOOL=ON \ + -DTrilinos_ENABLE_Optika:BOOL=OFF \ + -DTrilinos_ENABLE_Teuchos:BOOL=ON \ + -DTrilinos_ENABLE_Tpetra:BOOL=ON \ + -DTrilinos_ENABLE_TESTS:BOOL=OFF \ + "${config_args[@]}" \ + "${SRC_DIR}" || exit 1 +} + +pbuild::add_to_group 'MPI' +pbuild::install_docfiles Copyright.txt LICENSE README RELEASE_NOTES + diff --git a/MPI/trilinos/files/variants.rhel6 b/MPI/trilinos/files/variants.rhel6 new file mode 100644 index 0000000..87ab3d2 --- /dev/null +++ b/MPI/trilinos/files/variants.rhel6 @@ -0,0 +1,12 @@ +trilinos/11.10.2 deprecated b:cmake/2.8.12.2 gcc/{4.7.4,4.8.3,4.8.4,4.9.2} openmpi/{1.6.5,1.8.2,1.8.4} OpenBLAS/0.2.9 parmetis/3.2.0 +trilinos/11.12.1 deprecated b:cmake/2.8.12.2 gcc/{4.7.4,4.8.3,4.8.4,4.9.2} openmpi/{1.6.5,1.8.2,1.8.4} OpenBLAS/0.2.9 parmetis/3.2.0 +trilinos/11.14.1 deprecated b:cmake/3.1.3 gcc/{4.7.4,4.8.3,4.8.4,4.9.2} openmpi/{1.6.5,1.8.2,1.8.4} OpenBLAS/0.2.9 parmetis/3.2.0 + +trilinos/11.14.3 deprecated b:cmake/3.4.1 gcc/4.8.5 openmpi/1.10.2 b:OpenBLAS/0.2.9 b:parmetis/3.2.0 +trilinos/11.14.3 deprecated b:cmake/3.4.1 gcc/6.2.0 openmpi/{1.10.2,1.10.4,2.0.1} b:OpenBLAS/0.2.9 b:parmetis/3.2.0 +trilinos/11.14.3 deprecated intel/15.3 openmpi/1.8.4 + +trilinos/12.8.1 deprecated gcc/{4.8.5,4.9.4,5.4.0,6.2.0} openmpi/1.10.4 b:cmake/3.6.3 b:OpenBLAS/0.2.19 b:parmetis/4.0.3 +trilinos/12.10.1 deprecated gcc/{4.8.5,4.9.4,5.4.0,6.2.0} openmpi/1.10.4 b:cmake/3.6.3 b:OpenBLAS/0.2.19 b:parmetis/4.0.3 + +trilinos/12.12.1 stable gcc/7.3.0 mpich/3.3 hdf5/1.10.4 b:cmake/3.9.6 b:OpenBLAS/0.2.20 b:parmetis/4.0.3 diff --git a/MPI/trilinos/modulefile b/MPI/trilinos/modulefile new file mode 100644 index 0000000..1102e98 --- /dev/null +++ b/MPI/trilinos/modulefile @@ -0,0 +1,17 @@ +#%Module1.0 + +module-whatis "Object-Oriented Solver Framework" +module-url "http://trilinos.sandia.gov/" +module-license "BSD-like" +module-maintainer "Achim Gsell " + +module-help " +Trilinos is a collection of open source software libraries, called packages, +intended to be used as building blocks for the development of scientific +applications. The word \"Trilinos\" is Greek and conveys the idea of \"a string +of pearls,\" suggesting a number of software packages linked together by a +common infrastructure. Trilinos was developed at Sandia National Laboratories +from a core group of existing algorithms, and utilizes the functionality of +software interfaces such as the BLAS, LAPACK, and MPI. +(Wikipedia) +"