From 8dd410058f7acfd825e078dd9ef078677ebd929c Mon Sep 17 00:00:00 2001 From: Wiktor Bajor <69388767+Wiktor-99@users.noreply.github.com> Date: Mon, 5 Jan 2026 14:20:50 +0100 Subject: [PATCH] Fix CUDA 12.9 transform_reduce ambiguity (#6386) * Fix CUDA 12.9 transform_reduce ambiguity * Use the thrust:: for the make_zip_iterator calls --- gpu/surface/src/cuda/convex_hull.cu | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gpu/surface/src/cuda/convex_hull.cu b/gpu/surface/src/cuda/convex_hull.cu index 98e89cd703d..00b49dc082f 100644 --- a/gpu/surface/src/cuda/convex_hull.cu +++ b/gpu/surface/src/cuda/convex_hull.cu @@ -138,9 +138,9 @@ namespace pcl thrust::counting_iterator cbeg(0); thrust::counting_iterator cend = cbeg + thrust::distance(beg, end); - thrust::tuple t = transform_reduce( - make_zip_iterator(thrust::make_tuple(beg, cbeg)), - make_zip_iterator(thrust::make_tuple(end, cend)), + thrust::tuple t = thrust::transform_reduce( + thrust::make_zip_iterator(thrust::make_tuple(beg, cbeg)), + thrust::make_zip_iterator(thrust::make_tuple(end, cend)), unop, init, binary); return thrust::get<1>(t); @@ -194,11 +194,11 @@ void pcl::device::PointStream::computeInitalSimplex() simplex.x1 = tr(p1); simplex.x2 = tr(p2); simplex.x3 = tr(p3); simplex.x4 = tr(p4); simplex.i1 = minx; simplex.i2 = maxx; simplex.i3 = maxl; simplex.i4 = maxp; - float maxy = transform_reduce(beg, end, Y(), std::numeric_limits::min(), thrust::maximum()); - float miny = transform_reduce(beg, end, Y(), std::numeric_limits::max(), thrust::minimum()); + float maxy = thrust::transform_reduce(beg, end, Y(), std::numeric_limits::min(), thrust::maximum()); + float miny = thrust::transform_reduce(beg, end, Y(), std::numeric_limits::max(), thrust::minimum()); - float maxz = transform_reduce(beg, end, Z(), std::numeric_limits::min(), thrust::maximum()); - float minz = transform_reduce(beg, end, Z(), std::numeric_limits::max(), thrust::minimum()); + float maxz = thrust::transform_reduce(beg, end, Z(), std::numeric_limits::min(), thrust::maximum()); + float minz = thrust::transform_reduce(beg, end, Z(), std::numeric_limits::max(), thrust::minimum()); float dx = (p2.x - p1.x); float dy = (maxy - miny);