Trilinos/15.1.1-cpeGNU-24.03-OpenMP (Trilinos-15.1.1-cpeGNU-24.03-OpenMP.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider Trilinos/15.1.1-cpeGNU-24.03-OpenMP
.
EasyConfig:
#DOC Trilinos, compiled with the multi-threaded LibSci libraries.
easyblock = 'CMakeMake'
local_Boost_version = '1.83.0'
local_SCOTCH_version = '7.0.4'
local_ParMETIS_version = '4.0.3'
local_MUMPS_version = '5.6.1'
local_SuperLU_DIST_version = '9.0.0'
local_MATIO_version = '1.5.27'
local_cURL_version = '8.3.0'
name = 'Trilinos'
version = '15.1.1'
versionsuffix = '-OpenMP'
homepage = 'https://trilinos.org'
whatis = [
"Description: Trilinos is an object-oriented collection of reusable scientific libraries"
]
description = """
The Trilinos Project is an effort to develop algorithms and enabling technologies
within an object-oriented software framework for the solution of large-scale, complex multi-physics
engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.
"""
toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'usempi': True, 'pic': True, 'openmp': True, 'strict': True}
local_version = version.replace('.','-')
sources = [{
'filename': SOURCE_TAR_GZ,
'download_filename': f'trilinos-release-{local_version}.tar.gz',
'source_urls': ['https://github.com/trilinos/Trilinos/archive/refs/tags'],
}]
checksums = ['2108d633d2208ed261d09b2d6b2fbae7a9cdc455dd963c9c94412d38d8aaefe4']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('cray-python', EXTERNAL_MODULE),
('cray-libsci', EXTERNAL_MODULE),
('cray-hdf5-parallel', EXTERNAL_MODULE),
('cray-netcdf-hdf5parallel', EXTERNAL_MODULE),
('cray-parallel-netcdf', EXTERNAL_MODULE),
('Boost', local_Boost_version),
('SCOTCH', local_SCOTCH_version),
('ParMETIS', local_ParMETIS_version),
('MUMPS', local_MUMPS_version, '-OpenMP'),
('SuperLU_DIST', local_SuperLU_DIST_version, '-OpenMP'),
('MATIO', local_MATIO_version),
('cURL', local_cURL_version),
]
local_packages = [
'Amesos',
'Amesos2',
'Anasazi',
'AztecOO',
'Belos',
'Epetra',
'Isorropia',
'Teko',
'Piro',
'EpetraExt',
'Galeri',
'Ifpack',
'Ifpack2',
'Intrepid',
'Kokkos',
'Komplex',
'ML',
'MueLu',
'NOX',
'Pamgen',
'Phalanx',
'Pliris',
'ROL',
'RTOp',
'Sacado',
'Shards',
'ShyLU',
'STK',
'STKSearch',
'STKTopology',
'STKUtil',
'Stokhos',
'Stratimikos',
'Teuchos',
'Thyra',
'Tpetra',
'TrilinosCouplings',
'Triutils',
'Xpetra',
'Zoltan',
'Zoltan2',
'SEACAS',
'SEACASExo2mat',
'SEACASMat2exo',
]
local_disabled_packages = []
configopts = ' '.join([
'-D CMAKE_CXX_COMPILER="$CXX"',
'-D CMAKE_C_COMPILER="$CC"',
'-D CMAKE_Fortran_COMPILER="$FC"',
'-D TPL_ENABLE_MPI=ON',
'-D Trilinos_ENABLE_OpenMP=ON',
'-D BUILD_SHARED_LIBS=ON',
'-D TPL_ENABLE_BLAS=ON',
'-D TPL_ENABLE_LAPACK=ON',
'-D TPL_ENABLE_SCALAPACK=ON',
'-D BLAS_LIBRARY_NAMES=""',
'-D LAPACK_LIBRARY_NAMES=""',
'-D SCALAPACK_LIBRARY_NAMES=""',
'-D TPL_ENABLE_Scotch=ON',
'-D TPL_ENABLE_SuperLU=OFF',
'-D TPL_ENABLE_SuperLUDist=ON',
'-D TPL_SuperLUDist_INCLUDE_DIRS=$EBROOTSUPERLU_DIST/include',
'-D SuperLUDist_LIBRARY_DIRS=$EBROOTSUPERLU_DIST/lib',
'-D HAVE_SUPERLUDIST_ENUM_NAMESPACE=YES',
'-D HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG=YES',
'-D TPL_ENABLE_METIS=ON',
'-D TPL_METIS_INCLUDE_DIRS=$EBROOTPARMETIS/include',
'-D METIS_LIBRARY_DIRS=$EBROOTPARMETIS/lib',
'-D TPL_ENABLE_ParMETIS=ON',
'-D TPL_ParMETIS_INCLUDE_DIRS=$EBROOTPARMETIS/include',
'-D ParMETIS_LIBRARY_DIRS=$EBROOTPARMETIS/lib',
'-D ParMETIS_LIBRARY_NAMES="parmetis;metis"',
'-D TPL_ENABLE_MUMPS=ON',
'-D TPL_MUMPS_INCLUDE_DIRS=$EBROOTMUMPS/include',
'-D MUMPS_LIBRARY_DIRS=$EBROOTMUMPS/lib',
'-D TPL_ENABLE_Matio=ON',
'-D TPL_Matio_INCLUDE_DIRS=$EBROOTMATIO/include',
'-D Matio_LIBRARY_DIRS=$EBROOTMATIO/lib',
'-D TPL_ENABLE_HDF5=ON',
'-D TPL_HDF5_INCLUDE_DIRS=$HDF5_DIR/include',
'-D HDF5_LIBRARY_DIRS="$HDF5_DIR/lib"',
'-D TPL_ENABLE_Netcdf=ON',
'-D TPL_Netcdf_INCLUDE_DIRS="$CRAY_NETCDF_HDF5PARALLEL_DIR/include;$CRAY_PARALLEL_NETCDF_DIR/include"',
'-D Netcdf_LIBRARY_DIRS="$CRAY_NETCDF_HDF5PARALLEL_DIR/lib;$CRAY_PARALLEL_NETCDF_DIR/lib"',
'-D TPL_ENABLE_Boost=ON',
'-D TPL_Boost_INCLUDE_DIRS=$EBROOTBOOST/include',
'-D TPL_ENABLE_X11=OFF',
'-D TPL_ENABLE_MPI=ON',
'-D MPI_EXEC:STRING=srun',
'-D MPI_EXEC_NUMPROCS_FLAG:STRING="-n"',
'-D Kokkos_ENABLE_Serial:BOOL=ON',
'-D Tpetra_INST_SERIAL:BOOL=ON',
'-D Kokkos_ENABLE_OpenMP:BOOL=ON',
'-D CMAKE_CXX_STANDARD:STRING=17',
]) + ' '
for local_pkg in local_packages:
configopts += '-D Trilinos_ENABLE_%s=ON ' % local_pkg
for local_pkg in local_disabled_packages:
configopts += '-D Trilinos_ENABLE_%s=OFF ' % local_pkg
sanity_check_paths = {
'files': ['include/Trilinos_version.h'],
'dirs': ['include', 'lib'],
}
moduleclass = 'numlib'