cuda: add v12.6 (#45558)

This commit is contained in:
pauleonix 2024-08-26 15:27:07 +02:00 committed by GitHub
parent a782e6bc33
commit 8c92836c39
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 55 additions and 2 deletions

View File

@ -138,14 +138,14 @@ def cuda_flags(arch_list):
conflicts("%gcc@11.2:", when="+cuda ^cuda@:11.5")
conflicts("%gcc@12:", when="+cuda ^cuda@:11.8")
conflicts("%gcc@13:", when="+cuda ^cuda@:12.3")
conflicts("%gcc@14:", when="+cuda ^cuda@:12.5")
conflicts("%gcc@14:", when="+cuda ^cuda@:12.6")
conflicts("%clang@12:", when="+cuda ^cuda@:11.4.0")
conflicts("%clang@13:", when="+cuda ^cuda@:11.5")
conflicts("%clang@14:", when="+cuda ^cuda@:11.7")
conflicts("%clang@15:", when="+cuda ^cuda@:12.0")
conflicts("%clang@16:", when="+cuda ^cuda@:12.1")
conflicts("%clang@17:", when="+cuda ^cuda@:12.3")
conflicts("%clang@18:", when="+cuda ^cuda@:12.5")
conflicts("%clang@18:", when="+cuda ^cuda@:12.6")
# https://gist.github.com/ax3l/9489132#gistcomment-3860114
conflicts("%gcc@10", when="+cuda ^cuda@:11.4.0")

View File

@ -24,6 +24,16 @@
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
"12.6.0": {
"Linux-aarch64": (
"398db7baca17d51ad5035c606714c96380c965fd1742478c743bc6bbb1d8f63c",
"https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.28.03_linux_sbsa.run",
),
"Linux-x86_64": (
"31ab04394e69b14dd8656e2b44c2877db1a0e898dff8a7546a4c628438101b94",
"https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.28.03_linux.run",
),
},
"12.5.1": {
"Linux-aarch64": (
"353e8abc52ca80adf05002b775c7b3a2d2feefcf1c25ae13f8757f9a11efba3e",

View File

@ -82,6 +82,10 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage):
# https://bitbucket.org/icl/magma/issues/25/error-cusparsesolveanalysisinfo_t-does-not
conflicts("^cuda@11:", when="@:2.5.3")
# currently not compatible with CUDA-12.6
# https://github.com/icl-utk-edu/magma/issues/7
conflicts("^cuda@12.6:", when="@:2.8.0")
# Many cuda_arch values are not yet recognized by MAGMA's CMakeLists.txt
for target in [10, 11, 12, 13, 21, 32, 52, 53, 61, 62, 72, 86]:
conflicts(f"cuda_arch={target}")

View File

@ -0,0 +1,35 @@
diff --git a/vtkm/exec/cuda/internal/WrappedOperators.h b/vtkm/exec/cuda/internal/WrappedOperators.h
index bece57098..b46077e6a 100644
--- a/vtkm/exec/cuda/internal/WrappedOperators.h
+++ b/vtkm/exec/cuda/internal/WrappedOperators.h
@@ -22,6 +22,10 @@ VTKM_THIRDPARTY_PRE_INCLUDE
#include <thrust/system/cuda/memory.h>
VTKM_THIRDPARTY_POST_INCLUDE
+#if THRUST_VERSION >= 200500
+#include <cuda/std/type_traits>
+#endif
+
namespace vtkm
{
namespace exec
@@ -193,11 +197,19 @@ namespace detail
// the binary functor is commutative and the T type is is_arithmetic
//
//
+#if THRUST_VERSION >= 200500
+template <typename T, typename F>
+struct is_commutative<vtkm::exec::cuda::internal::WrappedBinaryOperator<T, F>>
+ : public ::cuda::std::is_arithmetic<T>
+{
+};
+#else
template <typename T, typename F>
struct is_commutative<vtkm::exec::cuda::internal::WrappedBinaryOperator<T, F>>
: public thrust::detail::is_arithmetic<T>
{
};
+#endif
}
} //namespace thrust::detail

View File

@ -158,6 +158,10 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
# https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3258
patch("mr3258-fix-typo-thrust-dependency-with-rocm.patch", when="@2.2:")
# VTK-M PR#3259
# https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3259
patch("mr3259-thrust-is_arithmetic-fix.patch", when="@2.0.0:2.2.0 +cuda ^cuda@12.6:")
# Disable Thrust patch that is no longer needed in modern Thrust
patch(
"https://github.com/Kitware/VTK-m/commit/4a4466e7c8cd44d2be2bd3fe6f359faa8e9547aa.patch?full_index=1",