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