Kokkos: add release 4.0.0 (#36532)

* Kokkos: add release 4.0.0
* Kokkos: updating default c++ standard requirement
  Now Kokkos requires c++17 as its new minimum c++ standard library.
* Kokkos: adding support for new GPU architectures
  The new updates include NVIDIA Hopper and AMD Navi
* Kokkos: fixing style...
* paraview +rocm: constrain kokkos dep to @:3.7.01

---------

Co-authored-by: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com>
Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
This commit is contained in:
Luc Berger 2023-04-04 19:23:53 -06:00 committed by GitHub
parent 66a9a9caa8
commit 5a4890cef8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -25,6 +25,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
version("master", branch="master")
version("develop", branch="develop")
version("4.0.00", sha256="1829a423883d4b44223c7c3a53d3c51671145aad57d7d23e6a1a4bebf710dcf6")
version("3.7.01", sha256="0481b24893d1bcc808ec68af1d56ef09b82a1138a1226d6be27c3b3c3da65ceb")
version("3.7.00", sha256="62e3f9f51c798998f6493ed36463f66e49723966286ef70a9dcba329b8443040")
version("3.6.01", sha256="1b80a70c5d641da9fefbbb652e857d7c7a76a0ebad1f477c253853e209deb8db")
@ -132,6 +133,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
"75": "turing75",
"80": "ampere80",
"86": "ampere86",
"90": "hopper90",
}
cuda_arches = spack_cuda_arch_map.values()
conflicts("+cuda", when="cuda_arch=none")
@ -141,6 +143,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
"gfx906": "vega906",
"gfx908": "vega908",
"gfx90a": "vega90A",
"gfx1030": "navi1030",
}
amd_support_conflict_msg = (
"{0} is not supported; "
@ -197,7 +200,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
stds = ["11", "14", "17", "20"]
# TODO: This should be named cxxstd for consistency with other packages
variant("std", default="14", values=stds, multi=False)
variant("std", default="17", values=stds, multi=False)
variant("pic", default=False, description="Build position independent code")
# nvcc does not currently work with C++17 or C++20

View File

@ -214,7 +214,7 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage):
depends_on("hip@5.2:", when="+rocm")
for target in ROCmPackage.amdgpu_targets:
depends_on(
"kokkos +rocm amdgpu_target={0}".format(target),
"kokkos@:3.7.01 +rocm amdgpu_target={0}".format(target),
when="+rocm amdgpu_target={0}".format(target),
)