petsc: add variants strumpack, scalapack (#25058)

strumpack: switch defaut to +shared
This commit is contained in:
Satish Balay 2021-08-02 13:48:33 -05:00 committed by GitHub
parent 73a65dc370
commit 413919be1f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -97,6 +97,10 @@ class Petsc(Package, CudaPackage, ROCmPackage):
description='Activates support for MUMPS (only parallel)')
variant('superlu-dist', default=True,
description='Activates support for SuperluDist (only parallel)')
variant('strumpack', default=False,
description='Activates support for Strumpack')
variant('scalapack', default=False,
description='Activates support for Scalapack')
variant('trilinos', default=False,
description='Activates support for Trilinos (only parallel)')
variant('mkl-pardiso', default=False,
@ -255,6 +259,10 @@ class Petsc(Package, CudaPackage, ROCmPackage):
depends_on('superlu-dist@xsdk-0.2.0+int64', when='@xsdk-0.2.0+superlu-dist+mpi+int64')
depends_on('superlu-dist@develop~int64', when='@main+superlu-dist+mpi~int64')
depends_on('superlu-dist@develop+int64', when='@main+superlu-dist+mpi+int64')
depends_on('strumpack', when='+strumpack')
depends_on('scalapack', when='+strumpack')
depends_on('metis', when='+strumpack')
depends_on('scalapack', when='+scalapack')
depends_on('mumps+mpi~int64~metis~parmetis~openmp', when='+mumps~metis~openmp')
depends_on('mumps+mpi~int64+metis+parmetis~openmp', when='+mumps+metis~openmp')
depends_on('mumps+mpi~int64~metis~parmetis+openmp', when='+mumps~metis+openmp')
@ -408,6 +416,7 @@ def install(self, spec, prefix):
'hwloc',
(jpeg_sp, 'libjpeg', True, True),
(scalapack_sp, 'scalapack', False, True),
'strumpack',
):
# Cannot check `library in spec` because of transitive deps
# Cannot check variants because parmetis keys on +metis

View File

@ -35,7 +35,7 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage):
version('3.2.0', sha256='34d93e1b2a3b8908ef89804b7e08c5a884cbbc0b2c9f139061627c0d2de282c1')
version('3.1.1', sha256='c1c3446ee023f7b24baa97b24907735e89ce4ae9f5ef516645dfe390165d1778')
variant('shared', default=False, description='Build shared libraries')
variant('shared', default=True, description='Build shared libraries')
variant('mpi', default=True, description='Use MPI')
variant('openmp', default=True,
description='Enable thread parallellism via tasking with OpenMP')