Closed miwechner closed 6 days ago
Thank you for reporting this issue! We had a time earlier this year where we implemented thrust::tuple
in terms of cuda::std::tuple
, but had to keep a few workarounds in. This caused errors like the one you observed in other projects as well, so we eventually reverted the change.
However, replacing thrust::tuple
completely by cuda::std::tuple
eventually worked (only an alias remains in Thrust), and this error is gone now on the current main
branch: https://godbolt.org/z/7qxcG818P (you can select CCCL trunk on compiler explorer). So I kindly ask you to either wait for the next CUDA Toolkit shipping the change, or using CCCL directly from GitHub.
Is this a duplicate?
Type of Bug
Compile-time Error
Component
Thrust
Describe the bug
Trying to call the copy constuctor on a
thrust::tuple<Eigen::Vector3f>
results in a compile time error. However, copy assignment strangely still works. Not sure whats so special about Eigen::Matrix types that it causes it to trigger a deduction with an iterator type. Usingcuda::std::tuple
instead ofthrust::tuple
also works.Originally had the problem on MSVC 19.41 with CUDA 12.6 buried inside a call to
thrust::sorty_by_key
with a zip iterator as the Output Iterator for the values, but was also easily reproducible on godbolt.How to Reproduce
See godbolt link
Expected behavior
thrust::tuple<Eigen::Vector3f>
should be copy constructedReproduction link
https://godbolt.org/z/n6M7ET6jf
Operating System
No response
nvidia-smi output
No response
NVCC version
nvcc version 12.6.1