summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/exago/package.py
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2022-07-30 15:19:18 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2022-07-31 13:29:20 -0700
commitf52f6e99dbf1131886a80112b8c79dfc414afb7c (patch)
tree05cb7d64b2395922f2f24683da49f472075be12c /var/spack/repos/builtin/packages/exago/package.py
parent549ba1ed32372c67fc57271cde3797d58b7dec6e (diff)
downloadspack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.gz
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.bz2
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.xz
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.zip
black: reformat entire repository with black
Diffstat (limited to 'var/spack/repos/builtin/packages/exago/package.py')
-rw-r--r--var/spack/repos/builtin/packages/exago/package.py143
1 files changed, 73 insertions, 70 deletions
diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py
index 9b68f2b140..37db1a8ae6 100644
--- a/var/spack/repos/builtin/packages/exago/package.py
+++ b/var/spack/repos/builtin/packages/exago/package.py
@@ -11,66 +11,68 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
problems on parallel and distributed architectures, particularly targeted
for exascale machines."""
- homepage = 'https://gitlab.pnnl.gov/exasgd/frameworks/exago'
- git = 'https://gitlab.pnnl.gov/exasgd/frameworks/exago.git'
- maintainers = ['ashermancinelli', 'CameronRutherford', 'pelesh']
-
- version('1.4.1', commit='ea607c685444b5f345bfdc9a59c345f0f30adde2', submodules=True, preferred=True)
- version('1.4.0', commit='4f4c3fdb40b52ace2d6ba000e7f24b340ec8e886', submodules=True)
- version('1.3.0', commit='58b039d746a6eac8e84b0afc01354cd58caec485', submodules=True)
- version('1.2.0', commit='255a214e', submodules=True)
- version('1.1.2', commit='db3bb16e', submodules=True)
- version('1.1.1', commit='0e0a3f27', submodules=True)
- version('1.1.0', commit='dc8dd855', submodules=True)
- version('1.0.0', commit='230d7df2')
- version('0.99.2', commit='56961641')
- version('0.99.1', commit='0ae426c7')
- version('master', branch='master', submodules=True)
- version('develop', branch='develop', submodules=True)
- version('5-18-2022-snapshot', tag='5-18-2022-snapshot', submodules=True)
+ homepage = "https://gitlab.pnnl.gov/exasgd/frameworks/exago"
+ git = "https://gitlab.pnnl.gov/exasgd/frameworks/exago.git"
+ maintainers = ["ashermancinelli", "CameronRutherford", "pelesh"]
+
+ version(
+ "1.4.1", commit="ea607c685444b5f345bfdc9a59c345f0f30adde2", submodules=True, preferred=True
+ )
+ version("1.4.0", commit="4f4c3fdb40b52ace2d6ba000e7f24b340ec8e886", submodules=True)
+ version("1.3.0", commit="58b039d746a6eac8e84b0afc01354cd58caec485", submodules=True)
+ version("1.2.0", commit="255a214e", submodules=True)
+ version("1.1.2", commit="db3bb16e", submodules=True)
+ version("1.1.1", commit="0e0a3f27", submodules=True)
+ version("1.1.0", commit="dc8dd855", submodules=True)
+ version("1.0.0", commit="230d7df2")
+ version("0.99.2", commit="56961641")
+ version("0.99.1", commit="0ae426c7")
+ version("master", branch="master", submodules=True)
+ version("develop", branch="develop", submodules=True)
+ version("5-18-2022-snapshot", tag="5-18-2022-snapshot", submodules=True)
# Progrmming model options
- variant('mpi', default=True, description='Enable/Disable MPI')
- variant('raja', default=False, description='Enable/Disable RAJA')
- variant('python', default=True, description='Enable/Disable Python bindings')
- conflicts('+python', when='@:1.3.0', msg='Python bindings require ExaGO 1.4')
+ variant("mpi", default=True, description="Enable/Disable MPI")
+ variant("raja", default=False, description="Enable/Disable RAJA")
+ variant("python", default=True, description="Enable/Disable Python bindings")
+ conflicts("+python", when="@:1.3.0", msg="Python bindings require ExaGO 1.4")
# Solver options
- variant('hiop', default=False, description='Enable/Disable HiOp')
- variant('ipopt', default=False, description='Enable/Disable IPOPT')
+ variant("hiop", default=False, description="Enable/Disable HiOp")
+ variant("ipopt", default=False, description="Enable/Disable IPOPT")
- conflicts('~hiop~ipopt', msg="ExaGO needs at least one solver enabled")
+ conflicts("~hiop~ipopt", msg="ExaGO needs at least one solver enabled")
# Dependencides
- depends_on('pkgconfig', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('blas')
- depends_on('cuda', when='+cuda')
- depends_on('raja', when='+raja')
+ depends_on("pkgconfig", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("blas")
+ depends_on("cuda", when="+cuda")
+ depends_on("raja", when="+raja")
- depends_on('raja@0.14.0:', when='@1.1.0: +raja')
- depends_on('umpire', when='+raja')
- depends_on('umpire@6.0.0:', when='@1.1.0: +raja')
+ depends_on("raja@0.14.0:", when="@1.1.0: +raja")
+ depends_on("umpire", when="+raja")
+ depends_on("umpire@6.0.0:", when="@1.1.0: +raja")
# Some allocator code in Umpire only works with static libs
- depends_on('umpire+cuda~shared', when='+raja+cuda')
+ depends_on("umpire+cuda~shared", when="+raja+cuda")
- depends_on('cmake@3.18:', type='build')
+ depends_on("cmake@3.18:", type="build")
# HiOp dependency logic
- depends_on('hiop+raja', when='+hiop+raja')
- depends_on('hiop@0.3.99:', when='@0.99:+hiop')
- depends_on('hiop@0.5.1:', when='@1.1.0:+hiop')
- depends_on('hiop@0.5.3:', when='@1.3.0:+hiop')
+ depends_on("hiop+raja", when="+hiop+raja")
+ depends_on("hiop@0.3.99:", when="@0.99:+hiop")
+ depends_on("hiop@0.5.1:", when="@1.1.0:+hiop")
+ depends_on("hiop@0.5.3:", when="@1.3.0:+hiop")
- depends_on('hiop~mpi', when='+hiop~mpi')
- depends_on('hiop+mpi', when='+hiop+mpi')
+ depends_on("hiop~mpi", when="+hiop~mpi")
+ depends_on("hiop+mpi", when="+hiop+mpi")
- depends_on('petsc@3.13:3.14', when='@:1.2.99')
- depends_on('petsc@3.16.0:3.16', when='@1.3.0:')
- depends_on('petsc~mpi', when='~mpi')
+ depends_on("petsc@3.13:3.14", when="@:1.2.99")
+ depends_on("petsc@3.16.0:3.16", when="@1.3.0:")
+ depends_on("petsc~mpi", when="~mpi")
- depends_on('py-pytest', type=('build', 'run'), when='@1.4.1:')
+ depends_on("py-pytest", type=("build", "run"), when="@1.4.1:")
for arch in CudaPackage.cuda_arch_values:
cuda_dep = "+cuda cuda_arch={0}".format(arch)
@@ -87,9 +89,9 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on("hiop {0}".format(rocm_dep), when=rocm_dep)
depends_on("raja {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
- depends_on('ipopt', when='+ipopt')
+ depends_on("ipopt", when="+ipopt")
- depends_on('py-mpi4py', when='@1.3.0:+mpi+python')
+ depends_on("py-mpi4py", when="@1.3.0:+mpi+python")
flag_handler = build_system_flags
@@ -103,24 +105,25 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
# args.append(
# self.define('EXAGO_CTEST_LAUNCH_COMMAND', 'srun -t 10:00'))
- args.extend([
- self.define('EXAGO_ENABLE_GPU', '+cuda' in spec or '+rocm' in spec),
- self.define_from_variant('EXAGO_ENABLE_CUDA', 'cuda'),
- self.define_from_variant('EXAGO_ENABLE_HIP', 'rocm'),
- self.define('PETSC_DIR', spec['petsc'].prefix),
- self.define('EXAGO_RUN_TESTS', True),
- self.define_from_variant('EXAGO_ENABLE_MPI', 'mpi'),
- self.define_from_variant('EXAGO_ENABLE_RAJA', 'raja'),
- self.define_from_variant('EXAGO_ENABLE_HIOP', 'hiop'),
- self.define_from_variant('EXAGO_ENABLE_IPOPT', 'ipopt'),
- self.define_from_variant('EXAGO_ENABLE_PYTHON', 'python'),
- ])
-
- if '+cuda' in spec:
- cuda_arch_list = spec.variants['cuda_arch'].value
- if cuda_arch_list[0] != 'none':
- args.append(
- self.define('CMAKE_CUDA_ARCHITECTURES', cuda_arch_list))
+ args.extend(
+ [
+ self.define("EXAGO_ENABLE_GPU", "+cuda" in spec or "+rocm" in spec),
+ self.define_from_variant("EXAGO_ENABLE_CUDA", "cuda"),
+ self.define_from_variant("EXAGO_ENABLE_HIP", "rocm"),
+ self.define("PETSC_DIR", spec["petsc"].prefix),
+ self.define("EXAGO_RUN_TESTS", True),
+ self.define_from_variant("EXAGO_ENABLE_MPI", "mpi"),
+ self.define_from_variant("EXAGO_ENABLE_RAJA", "raja"),
+ self.define_from_variant("EXAGO_ENABLE_HIOP", "hiop"),
+ self.define_from_variant("EXAGO_ENABLE_IPOPT", "ipopt"),
+ self.define_from_variant("EXAGO_ENABLE_PYTHON", "python"),
+ ]
+ )
+
+ if "+cuda" in spec:
+ cuda_arch_list = spec.variants["cuda_arch"].value
+ if cuda_arch_list[0] != "none":
+ args.append(self.define("CMAKE_CUDA_ARCHITECTURES", cuda_arch_list))
# NOTE: if +rocm, some HIP CMake variables may not be set correctly.
# Namely, HIP_CLANG_INCLUDE_PATH. If the configure phase fails due to
@@ -130,12 +133,12 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
# args.append(
# self.define('HIP_CLANG_INCLUDE_PATH',
# '/opt/rocm-X.Y.Z/llvm/lib/clang/14.0.0/include/'))
- if '+rocm' in spec:
- args.append(self.define('CMAKE_CXX_COMPILER', spec['hip'].hipcc))
+ if "+rocm" in spec:
+ args.append(self.define("CMAKE_CXX_COMPILER", spec["hip"].hipcc))
- rocm_arch_list = spec.variants['amdgpu_target'].value
- if rocm_arch_list[0] != 'none':
- args.append(self.define('GPU_TARGETS', rocm_arch_list))
- args.append(self.define('AMDGPU_TARGETS', rocm_arch_list))
+ rocm_arch_list = spec.variants["amdgpu_target"].value
+ if rocm_arch_list[0] != "none":
+ args.append(self.define("GPU_TARGETS", rocm_arch_list))
+ args.append(self.define("AMDGPU_TARGETS", rocm_arch_list))
return args