diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/essl/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/essl/package.py | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/var/spack/repos/builtin/packages/essl/package.py b/var/spack/repos/builtin/packages/essl/package.py index cf3b971f1d..fcc1b05291 100644 --- a/var/spack/repos/builtin/packages/essl/package.py +++ b/var/spack/repos/builtin/packages/essl/package.py @@ -11,53 +11,55 @@ class Essl(BundlePackage): homepage = "https://www.ibm.com/systems/power/software/essl/" # https://www.ibm.com/docs/en/essl/6.2?topic=whats-new - version('6.2.1.1') + version("6.2.1.1") - variant('ilp64', default=False, description='64 bit integers') + variant("ilp64", default=False, description="64 bit integers") variant( - 'threads', default='openmp', - description='Multithreading support', - values=('openmp', 'none'), - multi=False + "threads", + default="openmp", + description="Multithreading support", + values=("openmp", "none"), + multi=False, ) - variant('cuda', default=False, description='CUDA acceleration') + variant("cuda", default=False, description="CUDA acceleration") - provides('blas') + provides("blas") - conflicts('+cuda', when='+ilp64', - msg='ESSL+cuda+ilp64 cannot combine CUDA acceleration' - ' 64 bit integers') + conflicts( + "+cuda", + when="+ilp64", + msg="ESSL+cuda+ilp64 cannot combine CUDA acceleration" " 64 bit integers", + ) - conflicts('+cuda', when='threads=none', - msg='ESSL+cuda threads=none cannot combine CUDA acceleration' - ' without multithreading support') + conflicts( + "+cuda", + when="threads=none", + msg="ESSL+cuda threads=none cannot combine CUDA acceleration" + " without multithreading support", + ) @property def blas_libs(self): spec = self.spec prefix = self.prefix - if '+ilp64' in spec: - essl_lib = ['libessl6464'] + if "+ilp64" in spec: + essl_lib = ["libessl6464"] else: - essl_lib = ['libessl'] + essl_lib = ["libessl"] - if spec.satisfies('threads=openmp'): + if spec.satisfies("threads=openmp"): # ESSL SMP support requires XL or Clang OpenMP library - if '%xl' in spec or '%xl_r' in spec or '%clang' in spec: - if '+ilp64' in spec: - essl_lib = ['libesslsmp6464'] + if "%xl" in spec or "%xl_r" in spec or "%clang" in spec: + if "+ilp64" in spec: + essl_lib = ["libesslsmp6464"] else: - if '+cuda' in spec: - essl_lib = ['libesslsmpcuda'] + if "+cuda" in spec: + essl_lib = ["libesslsmpcuda"] else: - essl_lib = ['libesslsmp'] + essl_lib = ["libesslsmp"] essl_root = prefix.lib64 - essl_libs = find_libraries( - essl_lib, - root=essl_root, - shared=True - ) + essl_libs = find_libraries(essl_lib, root=essl_root, shared=True) return essl_libs |