-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add variadic ctor and CTAD to zip_iterator #4113
base: main
Are you sure you want to change the base?
Conversation
template <typename... Iterators, | ||
::cuda::std::enable_if_t<(::cuda::std::input_or_output_iterator<Iterators> && ...), int> = 0> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should also be SFINAEd by checking that we can actually construct the IterTuple
c7be69e
to
0017b36
Compare
🟨 CI finished in 1h 20m: Pass: 5%/93 | Total: 1d 08h | Avg: 21m 06s | Max: 1h 18m | Hits: 72%/2665
|
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
+/- | Thrust |
CUDA Experimental | |
python | |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
+/- | CUB |
+/- | Thrust |
CUDA Experimental | |
+/- | python |
+/- | CCCL C Parallel Library |
+/- | Catch2Helper |
🏃 Runner counts (total jobs: 93)
# | Runner |
---|---|
66 | linux-amd64-cpu16 |
9 | windows-amd64-cpu16 |
6 | linux-amd64-gpu-rtxa6000-latest-1 |
4 | linux-arm64-cpu16 |
3 | linux-amd64-gpu-h100-latest-1 |
3 | linux-amd64-gpu-rtx4090-latest-1 |
2 | linux-amd64-gpu-rtx2080-latest-1 |
477f3c7
to
eb4db15
Compare
template < | ||
typename... Iterators, | ||
::cuda::std::enable_if_t<!(::cuda::std::is_same_v<::cuda::std::decay_t<Iterators>, zip_iterator> || ...), int> = 0, | ||
::cuda::std::enable_if_t<(::cuda::std::input_or_output_iterator<::cuda::std::remove_cvref_t<Iterators>> && ...) | ||
// FIXME(bgruber): Adding this constraint causes a difficult compilation error: | ||
// && | ||
// ::cuda::std::is_constructible_v<::cuda::tuple<::cuda::std::remove_cvref_t<Iterators>...>, | ||
// Iterators...> | ||
, | ||
int> = 0> | ||
_CCCL_HOST_DEVICE zip_iterator(Iterators&&... iterators) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@miscco I think I need your help with the constraint here. thrust.test.cuda.inner_product.cdp_1
compiles without the constraint, but fails to compile with it. The error is:
/home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/detail/libcxx/include/tuple(663): error: incomplete type "cuda::std::__4::__tuple_constructible<cuda::std::__4::tuple<const cuda::std::__4::remove_volatile<cuda::std::__4::remove_const_t<cuda::std::__4::remove_reference_t<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<std::decay<cuda::std::__4::multiplies<int> &>::type>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<cuda::std::__4::remove_reference<thrust::THRUST_300000_SM_860_NS::detail::vector_base<int, thrust::THRUST_300000_SM_860_NS::device_allocator<int>>::iterator &>::type, cuda::std::__4::remove_reference<thrust::THRUST_300000_SM_860_NS::detail::vector_base<int, thrust::THRUST_300000_SM_860_NS::device_allocator<int>>::iterator &>::type>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>>>::type &>, cuda::std::__4::tuple<cuda::std::__4::remove_volatile<cuda::std::__4::remove_const_t<cuda::std::__4::remove_reference_t<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<std::decay<cuda::std::__4::multiplies<int> &>::type>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<cuda::std::__4::remove_reference<thrust::THRUST_300000_SM_860_NS::detail::vector_base<int, thrust::THRUST_300000_SM_860_NS::device_allocator<int>>::iterator &>::type, cuda::std::__4::remove_reference<thrust::THRUST_300000_SM_860_NS::detail::vector_base<int, thrust::THRUST_300000_SM_860_NS::device_allocator<int>>::iterator &>::type>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>>>::type>, true, true>" (aka "cuda::std::__4::__tuple_constructible<cuda::std::__4::tuple<const thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default> &>, cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>, true, true>") is not allowed
__tuple_constructible<tuple<_Args...>, tuple<_Tp...>>::value
^
detected during:
instantiation of class "cuda::std::__4::__tuple_constraints<_Tp...>::__variadic_constraints<_Args...> [with _Tp=<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>, _Args=<const thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default> &>]" at line 157 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__type_traits/is_constructible.h
instantiation of "const __nv_bool cuda::std::__4::is_constructible_v [with _Tp=cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>, _Args=<const thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default> &>]" at line 152 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__type_traits/is_constructible.h
instantiation of class "cuda::std::__4::is_constructible<_Tp, _Args...> [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, _Args=<const thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default> &>]" at line 65 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__tuple_dir/sfinae_helpers.h
instantiation of class "cuda::std::__4::__tuple_sfinae_base::__test<_Trait, cuda::std::__4::__tuple_types<_LArgs...>, cuda::std::__4::__tuple_types<_RArgs...>, true> [with _Trait=cuda::std::__4::is_constructible, _LArgs=<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>, _RArgs=<const thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default> &>]" at line 101 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__tuple_dir/sfinae_helpers.h
instantiation of class "cuda::std::__4::__tuple_constructible<_Tp, _Up, true, true> [with _Tp=cuda::std::__4::tuple<const thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default> &>, _Up=cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>]" at line 641
instantiation of class "cuda::std::__4::__tuple_constraints<_Tp...> [with _Tp=<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>]" at line 157 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__type_traits/is_constructible.h
instantiation of "const __nv_bool cuda::std::__4::is_constructible_v [with _Tp=cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>, _Args=<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>]" at line 157 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__type_traits/is_constructible.h
instantiation of "const __nv_bool cuda::std::__4::is_constructible_v [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, _Args=<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>]" at line 62 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__concepts/constructible.h
instantiation of "const __nv_bool cuda::std::__4::constructible_from [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, _Args=<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>]" at line 83 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__concepts/constructible.h
instantiation of "const __nv_bool cuda::std::__4::move_constructible [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>]" at line 97 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__concepts/constructible.h
instantiation of "const __nv_bool cuda::std::__4::copy_constructible [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>]" at line 50 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__concepts/copyable.h
instantiation of "const __nv_bool cuda::std::__4::copyable [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>]" at line 534 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__iterator/iterator_traits.h
instantiation of "const __nv_bool cuda::std::__4::__iterator_traits_detail::__cpp17_iterator [with _Ip=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>]" at line 634 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__iterator/iterator_traits.h
instantiation of "const __nv_bool cuda::std::__4::__cpp17_iterator_missing_members [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>]" at line 638 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__iterator/iterator_traits.h
instantiation of "const __nv_bool cuda::std::__4::__cpp17_input_iterator_missing_members [with _Tp=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>]" at line 803 of /home/bgruber/dev/cccl/lib/cmake/libcudacxx/../../../libcudacxx/include/cuda/std/__iterator/iterator_traits.h
instantiation of class "cuda::std::__4::iterator_traits<_Ip, <unnamed>> [with _Ip=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, <unnamed>=void]" at line 89 of /home/bgruber/dev/cccl/lib/cmake/cub/../../../cub/cub/util_type.cuh
instantiation of type "cub::CUB_300000_SM_860::detail::it_value_t<thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>>" at line 139 of /home/bgruber/dev/cccl/lib/cmake/cub/../../../cub/cub/device/dispatch/dispatch_reduce.cuh
processing of template argument list for "cub::CUB_300000_SM_860::DispatchReduce" based on template arguments <thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, int *, OffsetT, cuda::std::__4::plus<int>, int> at line 227 of /home/bgruber/dev/cccl/lib/cmake/cub/../../../cub/cub/device/device_reduce.cuh
instantiation of "cudaError_t cub::CUB_300000_SM_860::DeviceReduce::Reduce(void *, size_t &, InputIteratorT, OutputIteratorT, NumItemsT, ReductionOpT, T, cudaStream_t) [with InputIteratorT=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, OutputIteratorT=int *, ReductionOpT=cuda::std::__4::plus<int>, T=int, NumItemsT=int32_t]" at line 793 of /home/bgruber/dev/cccl/lib/cmake/thrust/../../../thrust/thrust/system/cuda/detail/reduce.h
instantiation of "T thrust::THRUST_300000_SM_860_NS::cuda_cub::detail::reduce_n_impl(thrust::THRUST_300000_SM_860_NS::cuda_cub::execution_policy<Derived> &, InputIt, Size, T, BinaryOp) [with Derived=thrust::THRUST_300000_SM_860_NS::cuda_cub::par_t, InputIt=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, Size=ptrdiff_t, T=int, BinaryOp=cuda::std::__4::plus<int>]" at line 850 of /home/bgruber/dev/cccl/lib/cmake/thrust/../../../thrust/thrust/system/cuda/detail/reduce.h
instantiation of "T thrust::THRUST_300000_SM_860_NS::cuda_cub::reduce_n(thrust::THRUST_300000_SM_860_NS::cuda_cub::execution_policy<Derived> &, InputIt, Size, T, BinaryOp) [with Derived=thrust::THRUST_300000_SM_860_NS::cuda_cub::par_t, InputIt=thrust::THRUST_300000_SM_860_NS::transform_iterator<thrust::THRUST_300000_SM_860_NS::zip_function<cuda::std::__4::multiplies<int>>, thrust::THRUST_300000_SM_860_NS::zip_iterator<cuda::std::__4::tuple<thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>>>, thrust::THRUST_300000_SM_860_NS::use_default, thrust::THRUST_300000_SM_860_NS::use_default>, Size=ptrdiff_t, T=int, BinaryOp=cuda::std::__4::plus<int>]" at line 62 of /home/bgruber/dev/cccl/lib/cmake/thrust/../../../thrust/thrust/system/cuda/detail/inner_product.h
instantiation of "T thrust::THRUST_300000_SM_860_NS::cuda_cub::inner_product(thrust::THRUST_300000_SM_860_NS::cuda_cub::execution_policy<Derived> &, InputIt1, InputIt1, InputIt2, T, ReduceOp, ProductOp) [with Derived=thrust::THRUST_300000_SM_860_NS::cuda_cub::par_t, InputIt1=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, InputIt2=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, T=int, ReduceOp=cuda::std::__4::plus<int>, ProductOp=cuda::std::__4::multiplies<int>]" at line 69 of /home/bgruber/dev/cccl/lib/cmake/thrust/../../../thrust/thrust/system/cuda/detail/inner_product.h
instantiation of "T thrust::THRUST_300000_SM_860_NS::cuda_cub::inner_product(thrust::THRUST_300000_SM_860_NS::cuda_cub::execution_policy<Derived> &, InputIt1, InputIt1, InputIt2, T) [with Derived=thrust::THRUST_300000_SM_860_NS::cuda_cub::par_t, InputIt1=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, InputIt2=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, T=int]" at line 46 of /home/bgruber/dev/cccl/lib/cmake/thrust/../../../thrust/thrust/detail/inner_product.inl
instantiation of "OutputType thrust::THRUST_300000_SM_860_NS::inner_product(const thrust::THRUST_300000_SM_860_NS::detail::execution_policy_base<DerivedPolicy> &, InputIterator1, InputIterator1, InputIterator2, OutputType) [with DerivedPolicy=thrust::THRUST_300000_SM_860_NS::cuda_cub::par_t, InputIterator1=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, InputIterator2=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, OutputType=int]" at line 11 of /home/bgruber/dev/cccl/thrust/testing/cuda/inner_product.cu
instantiation of "void inner_product_kernel(ExecutionPolicy, Iterator1, Iterator1, Iterator2, T, Iterator3) [with ExecutionPolicy=thrust::THRUST_300000_SM_860_NS::detail::device_t, Iterator1=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, Iterator2=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>, T=int, Iterator3=thrust::THRUST_300000_SM_860_NS::detail::normal_iterator<thrust::THRUST_300000_SM_860_NS::device_ptr<int>>]" at line 31 of /home/bgruber/dev/cccl/thrust/testing/cuda/inner_product.cu
eb4db15
to
14f3de6
Compare
🟨 CI finished in 1h 25m: Pass: 38%/93 | Total: 1d 22h | Avg: 30m 11s | Max: 1h 23m | Hits: 58%/49225
|
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
+/- | Thrust |
CUDA Experimental | |
python | |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
+/- | CUB |
+/- | Thrust |
CUDA Experimental | |
+/- | python |
+/- | CCCL C Parallel Library |
+/- | Catch2Helper |
🏃 Runner counts (total jobs: 93)
# | Runner |
---|---|
66 | linux-amd64-cpu16 |
9 | windows-amd64-cpu16 |
6 | linux-amd64-gpu-rtxa6000-latest-1 |
4 | linux-arm64-cpu16 |
3 | linux-amd64-gpu-h100-latest-1 |
3 | linux-amd64-gpu-rtx4090-latest-1 |
2 | linux-amd64-gpu-rtx2080-latest-1 |
Fixes: #4110