forked from spack/spack
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/develop' into develop
- Loading branch information
Showing
6 changed files
with
105 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,16 +13,17 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage): | |
current "Multicore+GPU" systems. | ||
""" | ||
|
||
homepage = "https://icl.cs.utk.edu/magma/" | ||
homepage = "https://icl.utk.edu/magma/" | ||
git = "https://bitbucket.org/icl/magma" | ||
url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-2.2.0.tar.gz" | ||
url = "https://icl.utk.edu/projectsfiles/magma/downloads/magma-2.2.0.tar.gz" | ||
maintainers("stomov", "luszczek", "G-Ragghianti") | ||
|
||
tags = ["e4s"] | ||
|
||
test_requires_compiler = True | ||
|
||
version("master", branch="master") | ||
version("2.8.0", sha256="f4e5e75350743fe57f49b615247da2cc875e5193cc90c11b43554a7c82cc4348") | ||
version("2.7.2", sha256="729bc1a70e518a7422fe7a3a54537a4741035a77be3349f66eac5c362576d560") | ||
version("2.7.1", sha256="d9c8711c047a38cae16efde74bee2eb3333217fd2711e1e9b8606cbbb4ae1a50") | ||
version("2.7.0", sha256="fda1cbc4607e77cacd8feb1c0f633c5826ba200a018f647f1c5436975b39fd18") | ||
|
@@ -47,6 +48,10 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage): | |
depends_on("cuda@8:", when="@2.5.1: +cuda") # See PR #14471 | ||
depends_on("hipblas", when="+rocm") | ||
depends_on("hipsparse", when="+rocm") | ||
# This ensures that rocm-core matches the hip package version in the case that | ||
# hip is an external package. | ||
for ver in ["5.5.0", "5.5.1", "5.6.0", "5.6.1", "5.7.0", "5.7.1", "6.0.0", "6.0.2"]: | ||
depends_on(f"rocm-core@{ver}", when=f"@2.8.0: +rocm ^hip@{ver}") | ||
depends_on("python", when="@master", type="build") | ||
|
||
conflicts("~cuda", when="~rocm", msg="magma: Either CUDA or HIP support must be enabled") | ||
|
@@ -150,6 +155,8 @@ def cmake_args(self): | |
# See https://github.com/ROCm/rocFFT/issues/322 | ||
if spec.satisfies("^[email protected]:3.21.2"): | ||
options.append(define("__skip_rocmclang", True)) | ||
if spec.satisfies("@2.8.0:"): | ||
options.append(define("ROCM_CORE", spec["rocm-core"].prefix)) | ||
else: | ||
options.append(define("MAGMA_ENABLE_CUDA", True)) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other | ||
# Spack Project Developers. See the top-level COPYRIGHT file for details. | ||
# | ||
# SPDX-License-Identifier: (Apache-2.0 OR MIT) | ||
|
||
from spack.package import * | ||
|
||
|
||
class Parthenon(CMakePackage): | ||
"""A performance portable block-structured adaptive mesh refinement framework.""" | ||
|
||
homepage = "https://github.com/parthenon-hpc-lab/parthenon" | ||
git = "https://github.com/parthenon-hpc-lab/parthenon.git" | ||
url = "https://github.com/parthenon-hpc-lab/parthenon/archive/v0.8.0.tar.gz" | ||
maintainers("pbrady", "pgrete") | ||
|
||
version("develop", branch="develop") | ||
version("24.03", sha256="ec9109c6bf442237641e627f301567527eb5e756b6959b6747d35315d041727c") | ||
version("23.11", sha256="76f79fb7d6556d94052829a8ac71f53cbda76f37fabd9233c5c0cd47ef561aee") | ||
version("0.8.0", sha256="9ed7c9ebdc84927a43b86c1e061f925b57cef9b567c7275f22779ed4d98e858d") | ||
|
||
# ------------------------------------------------------------# | ||
# Variants | ||
# ------------------------------------------------------------# | ||
|
||
variant("single", default=False, description="Run in single precision") | ||
variant("mpi", default=True, description="Enable mpi") | ||
variant( | ||
"host_comm_buffers", default=False, description="Allocate communication buffers on host" | ||
) | ||
variant("hdf5", default=True, description="Enable hdf5") | ||
with when("+hdf5"): | ||
variant( | ||
"compression", | ||
default=True, | ||
description="Enable compression in hdf5 output/restart files", | ||
) | ||
variant("sparse", default=True, description="Sparse capability") | ||
variant("ascent", default=False, description="Enable Ascent for in-situ vis and analysis") | ||
variant("examples", default=False, description="Build example drivers") | ||
variant("python", default=False, description="Enable python for testing") | ||
variant( | ||
"pressure", default=False, description="Registry pressure check for Kokkos CUDA kernels" | ||
) | ||
|
||
# ------------------------------------------------------------# | ||
# Dependencies | ||
# ------------------------------------------------------------# | ||
|
||
depends_on("[email protected]:", type="build") | ||
|
||
depends_on("mpi", when="+mpi") | ||
depends_on("hdf5", when="+hdf5") | ||
depends_on("hdf5 +mpi", when="+mpi +hdf5") | ||
depends_on("ascent", when="+ascent") | ||
depends_on("[email protected]:", when="+python") | ||
depends_on("kokkos@4:") | ||
|
||
def cmake_args(self): | ||
spec = self.spec | ||
return [ | ||
self.define("PARTHENON_IMPORT_KOKKOS", True), | ||
self.define_from_variant("PARTHENON_SINGLE_PRECISION", "single"), | ||
self.define_from_variant("PARTHENON_ENABLE_HOST_COMM_BUFFERS", "host_comm_buffers"), | ||
self.define_from_variant("CHECK_REGISTRY_PRESSURE", "pressure"), | ||
self.define_from_variant("PARTHENON_ENABLE_ASCENT", "ascent"), | ||
self.define("PARTHENON_DISABLE_MPI", not spec.variants["mpi"].value), | ||
self.define("PARTHENON_DISABLE_HDF5", not spec.variants["hdf5"].value), | ||
self.define( | ||
"PARTHENON_DISABLE_HDF5_COMPRESSION", not spec.variants["compression"].value | ||
), | ||
self.define("PARTHENON_DISABLE_SPARSE", not spec.variants["sparse"].value), | ||
self.define("PARTHENON_DISABLE_EXAMPLES", not spec.variants["examples"].value), | ||
self.define("BUILD_TESTING", self.run_tests), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -89,7 +89,8 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): | |
depends_on("[email protected]:", when="@2021.05.01:") | ||
depends_on("[email protected]", when="@2020.10.00") | ||
depends_on("lapackpp@master", when="@master") | ||
depends_on("scalapack", type="test") | ||
depends_on("scalapack", when="@:2022.07.00", type="test") | ||
depends_on("python", type="test") | ||
depends_on("hipify-clang", when="@:2021.05.02 +rocm ^hip@5:") | ||
|
||
requires("%oneapi", when="+sycl", msg="slate+sycl must be compiled with %oneapi") | ||
|
@@ -136,8 +137,8 @@ def cmake_args(self): | |
archs = ";".join(spec.variants["amdgpu_target"].value) | ||
config.append("-DCMAKE_HIP_ARCHITECTURES=%s" % archs) | ||
|
||
if self.run_tests: | ||
config.append("-DSCALAPACK_LIBRARIES=%s" % spec["scalapack"].libs.joined(";")) | ||
slibs = spec["scalapack"].libs.joined(";") if "scalapack" in spec else "none" | ||
config.append(f"-DSCALAPACK_LIBRARIES={slibs}") | ||
return config | ||
|
||
@run_after("install") | ||
|