DispatchTransformReduce
#
-
template<typename InputIteratorT, typename OutputIteratorT, typename OffsetT, typename ReductionOpT, typename TransformOpT, typename InitT, typename AccumT = ::cuda::std::__accumulator_t<ReductionOpT, cuda::std::invoke_result_t<TransformOpT, cuda::std::iter_value_t<InputIteratorT>>, InitT>, typename PolicyHub = detail::reduce::policy_hub<AccumT, OffsetT, ReductionOpT>, typename KernelSource = detail::reduce::DeviceReduceKernelSource<typename PolicyHub::MaxPolicy, InputIteratorT, OutputIteratorT, OffsetT, ReductionOpT, InitT, AccumT, TransformOpT>, typename KernelLauncherFactory = CUB_DETAIL_DEFAULT_KERNEL_LAUNCHER_FACTORY>
using cub::DispatchTransformReduce = DispatchReduce<InputIteratorT, OutputIteratorT, OffsetT, ReductionOpT, InitT, AccumT, TransformOpT, PolicyHub, KernelSource, KernelLauncherFactory># Utility class for dispatching the appropriately-tuned kernels for device-wide transform reduce.
- Template Parameters:
InputIteratorT – Random-access input iterator type for reading input items (may be a simple pointer type)
OutputIteratorT – Output iterator type for recording the reduced aggregate (may be a simple pointer type)
OffsetT – Signed integer type for global offsets
ReductionOpT – Binary reduction functor type having member
auto operator()(const T &a, const U &b)
TransformOpT – Unary transform functor type having member
auto operator()(const T &a)
InitT – Initial value type