Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rarensu/beaa17cdf9e6e6a0b6ee2f9c792e89d9 to your computer and use it in GitHub Desktop.
Save rarensu/beaa17cdf9e6e6a0b6ee2f9c792e89d9 to your computer and use it in GitHub Desktop.
Custom PETSc easybuild. Older PETSc, newer toolchain.
name = 'PETSc'
version = '3.6.2'
pysuffix = '-Python-%(pyver)s'
versionsuffix = pysuffix
homepage = 'http://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': 'intel', 'version': '2019b'}
toolchainopts = {'usempi': True, 'pic': True}
#, 'openmp': True}
source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
sources = [SOURCELOWER_TAR_GZ]
patches = ['PETSc_ranlib-fix.patch']
builddependencies = [('CMake', '3.15.3')]
parmetis_ver = '4.0.3'
dependencies = [
('Boost', '1.71.0'),
#('FIAT', '2016.2.0', pysuffix),
('HDF5', '1.10.5'),
('Hypre', '2.18.2'),
('METIS', '5.1.0'),
('netCDF', '4.7.1'),
('ParMETIS', parmetis_ver),
('Python', '2.7.16'),
#('ScientificPython', '2.9.4', pysuffix),
('SciPy-bundle', '2019.10', pysuffix),
('SCOTCH', '6.0.9'),
('SuiteSparse', '5.6.0', '-METIS-5.1.0'),
]
configopts = '--LIBS="$LIBS -lrt" '
postinstallcmds = [
'cp -rp src tutorials %(installdir)s',
'mv %(installdir)s/bin %(installdir)s/lib/petsc/',
'ln -s lib/petsc/bin %(installdir)s/bin'
]
moduleclass = 'numlib'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment