summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiclas Jansson <njansson@kth.se>2024-01-09 19:45:13 +0100
committerGitHub <noreply@github.com>2024-01-09 11:45:13 -0700
commit7583cf20d8b51368625b5693f9b811c35418fb7e (patch)
tree008752580267f9229dd21c80b4fd9d2ac0e72c5b
parent362b54c0d72a6f9216893826f2d060209a68323b (diff)
downloadspack-7583cf20d8b51368625b5693f9b811c35418fb7e.tar.gz
spack-7583cf20d8b51368625b5693f9b811c35418fb7e.tar.bz2
spack-7583cf20d8b51368625b5693f9b811c35418fb7e.tar.xz
spack-7583cf20d8b51368625b5693f9b811c35418fb7e.zip
neko: add v0.7.0, v0.7.1, v0.7.2 and fix package (#42012)
-rw-r--r--var/spack/repos/builtin/packages/neko/package.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/neko/package.py b/var/spack/repos/builtin/packages/neko/package.py
index 0683165c49..3eab17ecab 100644
--- a/var/spack/repos/builtin/packages/neko/package.py
+++ b/var/spack/repos/builtin/packages/neko/package.py
@@ -16,6 +16,9 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage):
url = "https://github.com/ExtremeFLOW/neko/releases/download/v0.3.2/neko-0.3.2.tar.gz"
maintainers("njansson")
+ version("0.7.2", sha256="5dd17fbae83d0b26dc46fafce4e5444be679cdce9493cef4ff7d504e2f854254")
+ version("0.7.1", sha256="c935c3d93b0975db46448045f97aced6ac2cab31a2b8803047f8086f98dcb981")
+ version("0.7.0", sha256="fe871e0a79f388073e0b3dc191d1c0d5da3a53883f5b1951d88b9423fc79a53c")
version("0.6.1", sha256="6282baaf9c8a201669e274cba23c37922f7ad701ba20ef086442e48f00dabf29")
version("0.6.0", sha256="ce37c7cea1a7bf1bf554c5717aa7fed35bbd079ff68c2fc9d3529facc717e31a")
version("0.5.2", sha256="8873f5ada106f92f21c9bb13ea8164550bccde9301589b9e7f1c1a82a2efe2b8")
@@ -30,6 +33,14 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage):
variant("xsmm", default=False, description="Build with support for libxsmm")
variant("gslib", default=False, when="@develop", description="Build with support for gslib")
+ # Requires cuda or rocm enabled MPI
+ variant(
+ "device-mpi",
+ default=False,
+ when="@0.4.0:",
+ description="Build with support for device-aware MPI",
+ )
+
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
@@ -41,6 +52,7 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage):
depends_on("blas")
depends_on("lapack")
depends_on("json-fortran", when="@develop")
+ depends_on("json-fortran", when="@0.7.0:")
depends_on("gslib", when="+gslib")
def configure_args(self):
@@ -54,5 +66,17 @@ class Neko(AutotoolsPackage, CudaPackage, ROCmPackage):
args += self.with_or_without("cuda", activation_value="prefix")
rocm_fn = lambda x: self.spec["hip"].prefix
args += self.with_or_without("hip", variant="rocm", activation_value=rocm_fn)
+ args += self.enable_or_disable("device-mpi", variant="device-mpi")
+
+ if self.spec.satisfies("+cuda"):
+ cuda_arch_list = self.spec.variants["cuda_arch"].value
+ cuda_arch = cuda_arch_list[0]
+ if cuda_arch != "none":
+ args.append(f"CUDA_ARCH=-arch=sm_{cuda_arch}")
+ if self.spec.satisfies("+rocm"):
+ rocm_arch_list = self.spec.variants["amdgpu_target"].value
+ rocm_arch = rocm_arch_list[0]
+ if rocm_arch != "none":
+ args.append(f"HIP_HIPCC_FLAGS=-O3 --offload-arch={rocm_arch}")
return args