Added support for using the Cray LibSci BLAS/LAPACK/ScaLAPACK library. (#25124)

This commit is contained in:
Brian Van Essen 2021-07-28 15:14:58 -07:00 committed by GitHub
parent db00cf24c0
commit adb507bdd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View File

@ -53,8 +53,8 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage):
description='Use OpenMP for threading in the BLAS library')
variant('int64_blas', default=False,
description='Use 64bit integers for BLAS.')
variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl'),
description='Enable the use of OpenBlas/MKL/Accelerate/ESSL')
variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl', 'libsci'),
description='Enable the use of OpenBlas/MKL/Accelerate/ESSL/LibSci')
conflicts('~cuda', when='+nvshmem')
@ -101,6 +101,9 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage):
depends_on('essl threads=openmp', when='blas=essl +openmp_blas')
depends_on('netlib-lapack +external-blas', when='blas=essl')
depends_on('cray-libsci', when='blas=libsci')
depends_on('cray-libsci +openmp', when='blas=libsci +openmp_blas')
# Distconv builds require cuda
conflicts('~cuda', when='+distconv')

View File

@ -50,8 +50,8 @@ class Hydrogen(CMakePackage, CudaPackage, ROCmPackage):
variant('build_type', default='Release',
description='The build type to build',
values=('Debug', 'Release'))
variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl'),
description='Enable the use of OpenBlas/MKL/Accelerate/ESSL')
variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl', 'libsci'),
description='Enable the use of OpenBlas/MKL/Accelerate/ESSL/LibSci')
variant('mpfr', default=False,
description='Support GNU MPFR\'s'
'arbitrary-precision floating-point arithmetic')
@ -90,6 +90,9 @@ class Hydrogen(CMakePackage, CudaPackage, ROCmPackage):
depends_on('essl threads=openmp', when='blas=essl +openmp_blas')
depends_on('netlib-lapack +external-blas', when='blas=essl')
depends_on('cray-libsci', when='blas=libsci')
depends_on('cray-libsci +openmp', when='blas=libsci +openmp_blas')
# Specify the correct version of Aluminum
depends_on('aluminum@:0.3.99', when='@:1.3.99 +al')
depends_on('aluminum@0.4:0.4.99', when='@1.4:1.4.99 +al')