Skip to content

Class muda::DeviceScan

ClassList > muda > DeviceScan

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
DeviceScan & ExclusiveScan (InputIteratorT d_in, OutputIteratorT d_out, ScanOpT scan_op, InitValueT init_value, int num_items)
DeviceScan & ExclusiveScan (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, ScanOpT scan_op, InitValueT init_value, int num_items)
DeviceScan & ExclusiveScanByKey (KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, ScanOpT scan_op, InitValueT init_value, int num_items, EqualityOpT equality_op=EqualityOpT())
DeviceScan & ExclusiveScanByKey (void * d_temp_storage, size_t & temp_storage_bytes, KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, ScanOpT scan_op, InitValueT init_value, int num_items, EqualityOpT equality_op=EqualityOpT())
DeviceScan & ExclusiveSum (InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceScan & ExclusiveSum (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceScan & ExclusiveSumByKey (KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, int num_items, EqualityOpT equality_op=EqualityOpT())
DeviceScan & ExclusiveSumByKey (void * d_temp_storage, size_t & temp_storage_bytes, KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, int num_items, EqualityOpT equality_op=EqualityOpT())
DeviceScan & InclusiveScan (InputIteratorT d_in, OutputIteratorT d_out, ScanOpT scan_op, int num_items)
DeviceScan & InclusiveScan (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, ScanOpT scan_op, int num_items)
DeviceScan & InclusiveScanByKey (KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, ScanOpT scan_op, int num_items, EqualityOpT equality_op=EqualityOpT())
DeviceScan & InclusiveScanByKey (void * d_temp_storage, size_t & temp_storage_bytes, KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, ScanOpT scan_op, int num_items, EqualityOpT equality_op=EqualityOpT())
DeviceScan & InclusiveSum (InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceScan & InclusiveSum (void * d_temp_storage, size_t & temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items)
DeviceScan & InclusiveSumByKey (KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, int num_items, EqualityOpT equality_op=EqualityOpT())
DeviceScan & InclusiveSumByKey (void * d_temp_storage, size_t & temp_storage_bytes, KeysInputIteratorT d_keys_in, ValuesInputIteratorT d_values_in, ValuesOutputIteratorT d_values_out, int num_items, EqualityOpT equality_op=EqualityOpT())

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 ExclusiveScan [1/2]

template<typename InputIteratorT, typename OutputIteratorT, typename ScanOpT, typename InitValueT>
inline DeviceScan & muda::DeviceScan::ExclusiveScan (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    ScanOpT scan_op,
    InitValueT init_value,
    int num_items
) 

function ExclusiveScan [2/2]

template<typename InputIteratorT, typename OutputIteratorT, typename ScanOpT, typename InitValueT>
inline DeviceScan & muda::DeviceScan::ExclusiveScan (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    ScanOpT scan_op,
    InitValueT init_value,
    int num_items
) 

function ExclusiveScanByKey [1/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename ScanOpT, typename InitValueT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::ExclusiveScanByKey (
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    ScanOpT scan_op,
    InitValueT init_value,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 

function ExclusiveScanByKey [2/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename ScanOpT, typename InitValueT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::ExclusiveScanByKey (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    ScanOpT scan_op,
    InitValueT init_value,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 

function ExclusiveSum [1/2]

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

function ExclusiveSum [2/2]

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

function ExclusiveSumByKey [1/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::ExclusiveSumByKey (
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 

function ExclusiveSumByKey [2/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::ExclusiveSumByKey (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 

function InclusiveScan [1/2]

template<typename InputIteratorT, typename OutputIteratorT, typename ScanOpT>
inline DeviceScan & muda::DeviceScan::InclusiveScan (
    InputIteratorT d_in,
    OutputIteratorT d_out,
    ScanOpT scan_op,
    int num_items
) 

function InclusiveScan [2/2]

template<typename InputIteratorT, typename OutputIteratorT, typename ScanOpT>
inline DeviceScan & muda::DeviceScan::InclusiveScan (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    InputIteratorT d_in,
    OutputIteratorT d_out,
    ScanOpT scan_op,
    int num_items
) 

function InclusiveScanByKey [1/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename ScanOpT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::InclusiveScanByKey (
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    ScanOpT scan_op,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 

function InclusiveScanByKey [2/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename ScanOpT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::InclusiveScanByKey (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    ScanOpT scan_op,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 

function InclusiveSum [1/2]

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

function InclusiveSum [2/2]

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

function InclusiveSumByKey [1/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::InclusiveSumByKey (
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 

function InclusiveSumByKey [2/2]

template<typename KeysInputIteratorT, typename ValuesInputIteratorT, typename ValuesOutputIteratorT, typename EqualityOpT>
inline DeviceScan & muda::DeviceScan::InclusiveSumByKey (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    KeysInputIteratorT d_keys_in,
    ValuesInputIteratorT d_values_in,
    ValuesOutputIteratorT d_values_out,
    int num_items,
    EqualityOpT equality_op=EqualityOpT()
) 


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