vtk-m/vtkm/cont/cuda
Kenneth Moreland a7100c845a Do not assume CUDA reduce operator is unary
The `Reduce` algorithm is sometimes used to convert an input type to a
different output type. For example, you can compute the min and max at
the same time by making the output of the binary functor a pair of the
input type. However, for this to work with the CUDA algorithm, you have
to be able to also convert the input type to the output type. This was
previously done by treating the binary operator as also a unary
operator. That's fine for custom operators, but if you are using
something like `thrust::plus`, it has no unary operation. (Why would
it?)

So, detect whether the operator has a unary operation. If it does, use
it to cast from the input portal to the output type. If it does not,
just use `static_cast`. Thus, the operator only has to have the unary
operation if `static_cast` does not work.
2021-03-03 09:39:51 -07:00
..
internal Do not assume CUDA reduce operator is unary 2021-03-03 09:39:51 -07:00
testing Rename CellLocatorUniformBins to CellLocatorTwoLevel 2020-09-21 15:42:47 -06:00
ChooseCudaDevice.h conslidate the license statement 2019-04-17 10:57:13 -06:00
CMakeLists.txt conslidate the license statement 2019-04-17 10:57:13 -06:00
DeviceAdapterCuda.h Remove ArrayManagerExecution 2020-12-08 13:18:44 -07:00
ErrorCuda.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00