neko: add v0.7.0, v0.7.1, v0.7.2 and fix package (#42012)
This commit is contained in:
		| @@ -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 @@ def configure_args(self): | ||||
|         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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Niclas Jansson
					Niclas Jansson