Skip to content

Class muda::DeviceSegmentedRadixSort

ClassList > muda > DeviceSegmentedRadixSort

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
DeviceSegmentedRadixSort & SortKeys (const KeyT * d_keys_in, KeyT * d_keys_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortKeys (cub::DoubleBuffer< KeyT > & d_keys, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortKeys (void * d_temp_storage, size_t & temp_storage_bytes, const KeyT * d_keys_in, KeyT * d_keys_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortKeys (void * d_temp_storage, size_t & temp_storage_bytes, cub::DoubleBuffer< KeyT > & d_keys, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortKeysDescending (const KeyT * d_keys_in, KeyT * d_keys_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortKeysDescending (cub::DoubleBuffer< KeyT > & d_keys, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortKeysDescending (void * d_temp_storage, size_t & temp_storage_bytes, const KeyT * d_keys_in, KeyT * d_keys_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortKeysDescending (void * d_temp_storage, size_t & temp_storage_bytes, cub::DoubleBuffer< KeyT > & d_keys, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairs (const KeyT * d_keys_in, KeyT * d_keys_out, const ValueT * d_values_in, ValueT * d_values_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairs (cub::DoubleBuffer< KeyT > & d_keys, cub::DoubleBuffer< ValueT > & d_values, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairs (void * d_temp_storage, size_t & temp_storage_bytes, const KeyT * d_keys_in, KeyT * d_keys_out, const ValueT * d_values_in, ValueT * d_values_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairs (void * d_temp_storage, size_t & temp_storage_bytes, cub::DoubleBuffer< KeyT > & d_keys, cub::DoubleBuffer< ValueT > & d_values, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairsDescending (const KeyT * d_keys_in, KeyT * d_keys_out, const ValueT * d_values_in, ValueT * d_values_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairsDescending (cub::DoubleBuffer< KeyT > & d_keys, cub::DoubleBuffer< ValueT > & d_values, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairsDescending (void * d_temp_storage, size_t & temp_storage_bytes, const KeyT * d_keys_in, KeyT * d_keys_out, const ValueT * d_values_in, ValueT * d_values_out, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)
DeviceSegmentedRadixSort & SortPairsDescending (void * d_temp_storage, size_t & temp_storage_bytes, cub::DoubleBuffer< KeyT > & d_keys, cub::DoubleBuffer< ValueT > & d_values, int num_items, int num_segments, BeginOffsetIteratorT d_begin_offsets, EndOffsetIteratorT d_end_offsets, int begin_bit, int end_bit)

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 SortKeys [1/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeys (
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortKeys [2/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeys (
    cub::DoubleBuffer< KeyT > & d_keys,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortKeys [3/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeys (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortKeys [4/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeys (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    cub::DoubleBuffer< KeyT > & d_keys,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortKeysDescending [1/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeysDescending (
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortKeysDescending [2/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeysDescending (
    cub::DoubleBuffer< KeyT > & d_keys,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortKeysDescending [3/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeysDescending (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortKeysDescending [4/4]

template<typename KeyT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortKeysDescending (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    cub::DoubleBuffer< KeyT > & d_keys,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairs [1/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairs (
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    const ValueT * d_values_in,
    ValueT * d_values_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairs [2/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairs (
    cub::DoubleBuffer< KeyT > & d_keys,
    cub::DoubleBuffer< ValueT > & d_values,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairs [3/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairs (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    const ValueT * d_values_in,
    ValueT * d_values_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairs [4/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairs (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    cub::DoubleBuffer< KeyT > & d_keys,
    cub::DoubleBuffer< ValueT > & d_values,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairsDescending [1/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairsDescending (
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    const ValueT * d_values_in,
    ValueT * d_values_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairsDescending [2/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairsDescending (
    cub::DoubleBuffer< KeyT > & d_keys,
    cub::DoubleBuffer< ValueT > & d_values,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairsDescending [3/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairsDescending (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    const KeyT * d_keys_in,
    KeyT * d_keys_out,
    const ValueT * d_values_in,
    ValueT * d_values_out,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 

function SortPairsDescending [4/4]

template<typename KeyT, typename ValueT, typename BeginOffsetIteratorT, typename EndOffsetIteratorT>
inline DeviceSegmentedRadixSort & muda::DeviceSegmentedRadixSort::SortPairsDescending (
    void * d_temp_storage,
    size_t & temp_storage_bytes,
    cub::DoubleBuffer< KeyT > & d_keys,
    cub::DoubleBuffer< ValueT > & d_values,
    int num_items,
    int num_segments,
    BeginOffsetIteratorT d_begin_offsets,
    EndOffsetIteratorT d_end_offsets,
    int begin_bit,
    int end_bit
) 


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