diff options
author | Brian Van Essen <vanessen1@llnl.gov> | 2018-01-26 11:38:37 -0700 |
---|---|---|
committer | scheibelp <scheibel1@llnl.gov> | 2018-01-26 10:38:37 -0800 |
commit | 1cd03e0f36618188b1a11808df689c58ea8a1422 (patch) | |
tree | 5c8a0c643956895f02a8db5870d66285a5146249 /var/spack/repos/builtin/packages/elemental | |
parent | 7cb43e3d057bf73ee1aa90914ced9399e25b9e86 (diff) | |
download | spack-1cd03e0f36618188b1a11808df689c58ea8a1422.tar.gz spack-1cd03e0f36618188b1a11808df689c58ea8a1422.tar.bz2 spack-1cd03e0f36618188b1a11808df689c58ea8a1422.tar.xz spack-1cd03e0f36618188b1a11808df689c58ea8a1422.zip |
new package: essl (#6335)
Added support for the IBM ESSL math library.Updated Elemental to be
able to build with ESSL.
Diffstat (limited to 'var/spack/repos/builtin/packages/elemental')
-rw-r--r-- | var/spack/repos/builtin/packages/elemental/package.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/elemental/package.py b/var/spack/repos/builtin/packages/elemental/package.py index 19ab7583ab..c661e073cb 100644 --- a/var/spack/repos/builtin/packages/elemental/package.py +++ b/var/spack/repos/builtin/packages/elemental/package.py @@ -68,8 +68,8 @@ class Elemental(CMakePackage): variant('build_type', default='Release', description='The build type to build', values=('Debug', 'Release')) - variant('blas', default='openblas', values=('openblas', 'mkl'), - description='Enable the use of OpenBlas/MKL') + variant('blas', default='openblas', values=('openblas', 'mkl', 'essl'), + description='Enable the use of OpenBlas/MKL/ESSL') variant('mpfr', default=False, description='Support GNU MPFR\'s' 'arbitrary-precision floating-point arithmetic') @@ -84,8 +84,13 @@ class Elemental(CMakePackage): depends_on('intel-mkl threads=openmp', when='blas=mkl +openmp_blas ~int64_blas') depends_on('intel-mkl@2017.1 +openmp +ilp64', when='blas=mkl +openmp_blas +int64_blas') + depends_on('essl -cuda', when='blas=essl -openmp_blas ~int64_blas') + depends_on('essl threads=openmp', when='blas=essl +openmp_blas ~int64_blas') + # Note that this forces us to use OpenBLAS until #1712 is fixed depends_on('lapack', when='blas=openblas ~openmp_blas') + depends_on('netlib-lapack +external-blas', when='blas=essl') + depends_on('metis') depends_on('metis +int64', when='+int64') depends_on('mpi') @@ -145,6 +150,15 @@ class Elemental(CMakePackage): libfortran = LibraryList(mpif77('--print-file-name', 'libgfortran.%s' % dso_suffix, output=str)) + elif self.spec.satisfies('%xl') or self.spec.satisfies('%xl_r'): + xl_fort = env['SPACK_F77'] + xl_bin = os.path.dirname(xl_fort) + xl_root = os.path.dirname(xl_bin) + libfortran = LibraryList('{0}/lib/libxlf90_r.{1}.1' + .format(xl_root, dso_suffix)) + else: + libfortran = None + if libfortran: args.append('-DGFORTRAN_LIB=%s' % libfortran.libraries[0]) @@ -205,5 +219,8 @@ class Elemental(CMakePackage): elif 'blas=mkl' in spec: args.extend([ '-DHydrogen_USE_MKL:BOOL=%s' % ('blas=mkl' in spec)]) + elif 'blas=essl' in spec: + args.extend([ + '-DHydrogen_USE_ESSL:BOOL=%s' % ('blas=essl' in spec)]) return args |