Skip to content

Class muda::DeviceReduce

ClassList > muda > DeviceReduce

Inherits the following classes: muda::CubWrapper

Public Types inherited from muda::LaunchBase

See muda::LaunchBase

Type Name
typedef T derived_type

Public Attributes inherited from muda::CubWrapper

See muda::CubWrapper

Type Name
Stream * m_muda_stream = = nullptr

Public Functions

Type Name
DeviceReduce & ArgMax (InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & ArgMax (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & ArgMin (InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & ArgMin (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & Max (InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & Max (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & Min (InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & Min (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & Reduce (InputIteratorT d_in, OutputIteratorT d_out, int num_items, ReductionOpT reduction_op, T init)
DeviceReduce & Reduce (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items, ReductionOpT reduction_op, T init)
DeviceReduce & ReduceByKey (KeysInputIteratorT d_keys_in, UniqueOutputIteratorT d_unique_out, ValuesInputIteratorT d_values_in, AggregatesOutputIteratorT d_aggregates_out, NumRunsOutputIteratorT d_num_runs_out, ReductionOpT reduction_op, int num_items)
DeviceReduce & ReduceByKey (void * d_temp_storage, size_t & temp_storage_bytes, KeysInputIteratorT d_keys_in, UniqueOutputIteratorT d_unique_out, ValuesInputIteratorT d_values_in, AggregatesOutputIteratorT d_aggregates_out, NumRunsOutputIteratorT d_num_runs_out, ReductionOpT reduction_op, int num_items)
DeviceReduce & Sum (InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceReduce & Sum (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items)

Public Functions inherited from muda::CubWrapper

See muda::CubWrapper

Type Name
CubWrapper (Stream & stream=Stream::Default())
void kernel_name (std::string_view) = delete

Public Functions inherited from muda::LaunchBase

See muda::LaunchBase

Type Name
MUDA_GENERIC LaunchBase (::cudaStream_t stream)
T & callback (const std::function< void(::cudaStream_t, ::cudaError)> & callback)
T & file_line (std::string_view file, int line)
T & kernel_name (std::string_view name)
Next next (Next n)
Next next (Args &&... args)
T & pop_range ()
T & push_range (const std::string & name)
T & record (cudaEvent_t e, int flag=cudaEventRecordDefault)
T & record (ComputeGraphVar< cudaEvent_t > & e, const std::vector< ComputeGraphVarBase * > & vars)
T & record (ComputeGraphVar< cudaEvent_t > & e, ComputeGraphVar< ViewT > &... vars)
T & wait (cudaEvent_t e, int flag=cudaEventWaitDefault)
T & wait (const ComputeGraphVar< cudaEvent_t > & e, const std::vector< ComputeGraphVarBase * > & vars)
T & wait (const ComputeGraphVar< cudaEvent_t > & e, ComputeGraphVar< ViewT > &... vars)
T & wait ()
T & when (cudaEvent_t e, int flag=cudaEventWaitDefault)
~LaunchBase ()

Public Functions inherited from muda::LaunchCore

See muda::LaunchCore

Type Name
MUDA_GENERIC LaunchCore (::cudaStream_t stream)
void callback (const std::function< void(::cudaStream_t, ::cudaError)> & callback)
void init_stream (::cudaStream_t s)
void pop_range ()
void push_range (const std::string & name)
void record (cudaEvent_t e, int flag=cudaEventRecordDefault)
void record (ComputeGraphVar< cudaEvent_t > & e, const std::vector< ComputeGraphVarBase * > & vars)
void record (ComputeGraphVar< cudaEvent_t > & e, ComputeGraphVar< ViewT > &... vars)
void wait (cudaEvent_t e, int flag=cudaEventWaitDefault)
void wait (const ComputeGraphVar< cudaEvent_t > & e, const std::vector< ComputeGraphVarBase * > & vars)
void wait (const ComputeGraphVar< cudaEvent_t > & e, ComputeGraphVar< ViewT > &... vars)
void wait ()
void when (cudaEvent_t e, int flag=cudaEventWaitDefault)
~LaunchCore ()

Public Static Functions inherited from muda::LaunchCore

See muda::LaunchCore

Type Name
void file_line (std::string_view file, int line)
void kernel_name (std::string_view name)
void wait_device ()
void wait_event (cudaEvent_t event)
void wait_stream (::cudaStream_t stream)

Protected Types inherited from muda::LaunchCore

See muda::LaunchCore

Type Name
typedef std::shared_ptr< T > S

Protected Attributes inherited from muda::LaunchCore

See muda::LaunchCore

Type Name
::cudaStream_t m_stream

Protected Functions inherited from muda::CubWrapper

See muda::CubWrapper

Type Name
std::byte * prepare_buffer (size_t reqSize)

Protected Functions inherited from muda::LaunchBase

See muda::LaunchBase

Type Name
T & pop_kernel_label ()

Protected Functions inherited from muda::LaunchCore

See muda::LaunchCore

Type Name
MUDA_HOST void pop_kernel_label ()
MUDA_GENERIC::cudaStream_t stream () const

Public Functions Documentation

function ArgMax [1/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::ArgMax (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function ArgMax [2/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::ArgMax (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function ArgMin [1/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::ArgMin (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function ArgMin [2/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::ArgMin (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function Max [1/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::Max (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function Max [2/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::Max (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function Min [1/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::Min (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function Min [2/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::Min (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function Reduce [1/2]

template<typename InputIteratorT, typename OutputIteratorT, typename ReductionOpT, typename T>
inline DeviceReduce & muda::DeviceReduce::Reduce (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items,
    ReductionOpT reduction_op,
    T init
) 

function Reduce [2/2]

template<typename InputIteratorT, typename OutputIteratorT, typename ReductionOpT, typename T>
inline DeviceReduce & muda::DeviceReduce::Reduce (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items,
    ReductionOpT reduction_op,
    T init
) 

function ReduceByKey [1/2]

template<typename KeysInputIteratorT, typename UniqueOutputIteratorT, typename ValuesInputIteratorT, typename AggregatesOutputIteratorT, typename NumRunsOutputIteratorT, typename ReductionOpT>
inline DeviceReduce & muda::DeviceReduce::ReduceByKey (
    KeysInputIteratorT d_keys_in,
    UniqueOutputIteratorT d_unique_out,
    ValuesInputIteratorT d_values_in,
    AggregatesOutputIteratorT d_aggregates_out,
    NumRunsOutputIteratorT d_num_runs_out,
    ReductionOpT reduction_op,
    int num_items
) 

function ReduceByKey [2/2]

template<typename KeysInputIteratorT, typename UniqueOutputIteratorT, typename ValuesInputIteratorT, typename AggregatesOutputIteratorT, typename NumRunsOutputIteratorT, typename ReductionOpT>
inline DeviceReduce & muda::DeviceReduce::ReduceByKey (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    KeysInputIteratorT d_keys_in,
    UniqueOutputIteratorT d_unique_out,
    ValuesInputIteratorT d_values_in,
    AggregatesOutputIteratorT d_aggregates_out,
    NumRunsOutputIteratorT d_num_runs_out,
    ReductionOpT reduction_op,
    int num_items
) 

function Sum [1/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::Sum (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 

function Sum [2/2]

template<typename InputIteratorT, typename OutputIteratorT>
inline DeviceReduce & muda::DeviceReduce::Sum (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    int num_items
) 


The documentation for this class was generated from the following file src/muda/cub/device/device_reduce.h