summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/essl/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/essl/package.py')
-rw-r--r--var/spack/repos/builtin/packages/essl/package.py60
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