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