cuda::experimental::stf::stream_reduction_operator_untyped#

class stream_reduction_operator_untyped : public cuda::experimental::stf::reduction_operator_base#

Helper class to define a reduction operator attached to a data interface.

Defining a new operator requires to define the virtual methods stream_init_op and stream_redux_op which respectively initialize a data instance, and apply the reduction operator over two instances.

See stream_reduction_operator for a class which directly manipulates typed data instances, with a simpler programming interface.

Subclassed by cuda::experimental::stf::stream_reduction_operator< slice< element_type, dimensions > >, cuda::experimental::stf::stream_reduction_operator< T >

Public Functions

inline stream_reduction_operator_untyped(bool is_commutative = true)#
virtual void stream_redux_op(
logical_data_untyped &d,
const data_place &inout_memory_node,
instance_id_t inout_instance_id,
const data_place &in_memory_node,
instance_id_t in_instance_id,
const exec_place &e,
cudaStream_t s
) = 0#
virtual void stream_init_op(
logical_data_untyped &d,
const data_place &out_memory_node,
instance_id_t out_instance_id,
const exec_place &e,
cudaStream_t s
) = 0#
inline virtual ~reduction_operator_base()#