mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-08 07:52:11 +01:00
60 lines
2.1 KiB
Plaintext
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'
|