From 4a4466e7c8cd44d2be2bd3fe6f359faa8e9547aa Mon Sep 17 00:00:00 2001 From: Kenneth Moreland Date: Tue, 4 Jun 2024 10:04:42 -0400 Subject: [PATCH] Disable Thrust patch that is no longer needed in modern Thrust There is a Thrust patch that works around an issue in Thrust 1.9.4 (https://github.com/NVIDIa/ThirdParty/vtkm/vtkvtkm/vtk-m/thrust/issues/972). The underlying issue should be fixed in recent versions. In recent versions of CUDA, the patch breaks (https://gitlab.kitware.com/vtk/vtk-m/-/issues/818). This change fixes the problem by disabling the patch where it is not needed. --- /dev/null +++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/docs/changelog/obsolete-thrust-patch.md @@ -0,0 +1,9 @@ +# Disable Thrust patch that is no longer needed in modern Thrust + +There is a Thrust patch that works around an issue in Thrust 1.9.4 +(https://github.com/NVIDIa/ThirdParty/vtkm/vtkvtkm/vtk-m/thrust/issues/972). The underlying issue +should be fixed in recent versions. In recent versions of CUDA, the patch +breaks (https://gitlab.kitware.com/vtk/vtk-m/-/issues/818). + +This change fixes the problem by disabling the patch where it is not +needed. --- a/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/ThrustPatches.h +++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/ThrustPatches.h @@ -170,9 +170,9 @@ ALIGN_RE_PAIR(vtkm::Int64, vtkm::Float64); #undef ALIGN_RE_PAIR } } -#endif //THRUST_VERSION >= 100900 +#endif //THRUST_VERSION >= 100900 && THRUST_VERSION < 100906 -#if THRUST_VERSION >= 100904 +#if (THRUST_VERSION >= 100904) && (THRUST_VERSION < 100909) //So for thrust 1.9.4+ (CUDA 10.1+) the stateless_resource_allocator has a bug //where it is not marked as __host__ __device__ && __thrust_exec_check_disable__. //To fix this we add a new partial specialization on cuda::memory_resource @@ -236,7 +236,7 @@ public: }; } } -#endif //THRUST_VERSION >= 100903 +#endif //(THRUST_VERSION >= 100904) && (THRUST_VERSION < 100909) #if THRUST_VERSION < 100900 -- GitLab