easyconfigs-it4i/p/PETSc/PETSc-3.17.2-foss-2021a.eb
2022-06-17 11:27:43 +02:00

60 lines
2.1 KiB
Plaintext

# IT4Innovations
# LK JK
name = 'PETSc'
version = '3.17.2'
homepage = 'https://www.mcs.anl.gov/petsc'
description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the
scalable (parallel) solution of scientific applications modeled by partial differential equations."""
toolchain = {'name': 'foss', 'version': '2021a'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'openmp': True, 'usempi': True, 'optarch': 'march=core-avx2', 'pic': True}
else:
toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}
source_urls = [
'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
]
sources = [SOURCELOWER_TAR_GZ]
patches = [
'PETSc_ranlib-fix.patch',
]
checksums = [
'2313dd1ca41bf0ace68671ea6f8d4abf90011ed899f5e1e08658d3f18478359d', # petsc-3.17.2.tar.gz
'64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297', # PETSc_ranlib-fix.patch
]
builddependencies = [('CMake', '3.20.1')]
dependencies = [
('Python', '3.9.5'),
('SciPy-bundle', '2021.05'),
('Boost', '1.76.0'),
('METIS', '5.1.0'),
('SCOTCH', '6.1.0'),
('MUMPS', '5.4.0', '-metis'),
# ('SuiteSparse', '5.10.1', '-METIS-5.1.0'),
('Hypre', '2.24.0'),
]
# enabling --with-mpi4py seems to be totally broken, leads to make errors like:
# No rule to make target 'mpi4py-build'
configopts = ' CC=$CC CXX=$CXX FC=$FC F77=$F77 F90=$F90 '
configopts += ' CFLAGS=$CFLAGS CXXFLAGS=$CXXFLAGS FFLAGS=$FFLAGS F90FLAGS=$F90FLAGS '
configopts += ' CPPFLAGS=$CPPFLAGS LDFLAGS=$LDFLAGS '
configopts += ' --LIBS="$LIBS -lrt" --with-mpi4py=0 '
#configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 --with-fortran=1 --download-scalapack '
#configopts += '--download-parmetis --download-metis --download-mumps=yes'
shared_libs = 1
# only required when building PETSc in a SLURM job environment
# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 '
# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && "
moduleclass = 'numlib'