mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
18b5be92d6
When you try to call the `Reduce` operation in the CUDA device adapter with a sufficently complex interator type, you get a compile error that says `error: cannot pass an argument with a user-provided copy-constructor to a device-side kernel launch`. This appears to be a bug in either nvcc or Thrust. I believe it is related to the following reported issues: * https://github.com/thrust/thrust/issues/928 * https://github.com/thrust/thrust/issues/1044 Work around this problem by making a special condition for calling `Reduce` with an `ArrayHandleMultiplexer` that calls the generic algorithm in `DeviceAdapterAlgorithmGeneral` instead of the algorithm in Thrust. |
||
---|---|---|
.. | ||
testing | ||
ArrayManagerExecutionCuda.h | ||
AtomicInterfaceExecutionCuda.h | ||
CMakeLists.txt | ||
CudaAllocator.cu | ||
CudaAllocator.h | ||
DeviceAdapterAlgorithmCuda.cu | ||
DeviceAdapterAlgorithmCuda.h | ||
DeviceAdapterMemoryManagerCuda.cu | ||
DeviceAdapterMemoryManagerCuda.h | ||
DeviceAdapterRuntimeDetectorCuda.cu | ||
DeviceAdapterRuntimeDetectorCuda.cxx | ||
DeviceAdapterRuntimeDetectorCuda.h | ||
DeviceAdapterTagCuda.h | ||
DeviceAdapterTimerImplementationCuda.cu | ||
DeviceAdapterTimerImplementationCuda.h | ||
MakeThrustIterator.h | ||
ThrustExceptionHandler.h | ||
VirtualObjectTransferCuda.h |