Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Functions
shamalgs::algorithm::details Namespace Reference

namespace to store algorithms implemented by shamalgs More...

Classes

class  DigitBinner
 
struct  OrderingPrimitive
 
struct  OrderingPrimitiveXorSwap
 
class  SortByKeyRadixOnesweep
 

Functions

template<class Tkey , class Tval >
void sort_by_key_bitonic_legacy (sycl::queue &q, sycl::buffer< Tkey > &buf_key, sycl::buffer< Tval > &buf_values, u32 len)
 
template<class Tkey , class Tval , u32 MaxStencilSize>
void sort_by_key_bitonic_updated (sycl::queue &q, sycl::buffer< Tkey > &buf_key, sycl::buffer< Tval > &buf_values, u32 len)
 
template<class Tkey , class Tval , u32 MaxStencilSize>
void sort_by_key_bitonic_updated_xor_swap (sycl::queue &q, sycl::buffer< Tkey > &buf_key, sycl::buffer< Tval > &buf_values, u32 len)
 
template<class Tkey , class Tval >
void sort_by_key_bitonic_fallback (sycl::queue &q, sycl::buffer< Tkey > &buf_key, sycl::buffer< Tval > &buf_values, u32 len)
 
template<class Tkey , class Tval , u32 MaxStencilSize>
void sort_by_key_bitonic_updated_usm (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< Tkey > &buf_key, sham::DeviceBuffer< Tval > &buf_values, u32 len)
 
template<class Tkey , class Tval , u32 group_size, u32 digit_len>
void sort_by_key_radix_onesweep (sycl::queue &q, sycl::buffer< Tkey > &buf_key, sycl::buffer< Tval > &buf_values, u32 len)
 
template void sort_by_key_bitonic_legacy (sycl::queue &q, sycl::buffer< u32 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_legacy (sycl::queue &q, sycl::buffer< u64 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated< u32, u32, 16 > (sycl::queue &q, sycl::buffer< u32 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated< u64, u32, 16 > (sycl::queue &q, sycl::buffer< u64 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated< u32, u32, 8 > (sycl::queue &q, sycl::buffer< u32 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated< u64, u32, 8 > (sycl::queue &q, sycl::buffer< u64 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated< u32, u32, 32 > (sycl::queue &q, sycl::buffer< u32 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated< u64, u32, 32 > (sycl::queue &q, sycl::buffer< u64 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< u32, u32, 16 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &buf_key, sham::DeviceBuffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< u64, u32, 16 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u64 > &buf_key, sham::DeviceBuffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< u32, u32, 8 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &buf_key, sham::DeviceBuffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< u64, u32, 8 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u64 > &buf_key, sham::DeviceBuffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< u32, u32, 32 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &buf_key, sham::DeviceBuffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< u64, u32, 32 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u64 > &buf_key, sham::DeviceBuffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< f32, f32, 32 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32 > &buf_key, sham::DeviceBuffer< f32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< f64, f64, 32 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64 > &buf_key, sham::DeviceBuffer< f64 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< f32, f32, 16 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f32 > &buf_key, sham::DeviceBuffer< f32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_usm< f64, f64, 16 > (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< f64 > &buf_key, sham::DeviceBuffer< f64 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_xor_swap< u32, u32, 16 > (sycl::queue &q, sycl::buffer< u32 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_xor_swap< u64, u32, 16 > (sycl::queue &q, sycl::buffer< u64 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_xor_swap< u32, u32, 8 > (sycl::queue &q, sycl::buffer< u32 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_xor_swap< u64, u32, 8 > (sycl::queue &q, sycl::buffer< u64 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_xor_swap< u32, u32, 32 > (sycl::queue &q, sycl::buffer< u32 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 
template void sort_by_key_bitonic_updated_xor_swap< u64, u32, 32 > (sycl::queue &q, sycl::buffer< u64 > &buf_key, sycl::buffer< u32 > &buf_values, u32 len)
 

Detailed Description

namespace to store algorithms implemented by shamalgs

Function Documentation

◆ sort_by_key_bitonic_fallback()

template<class Tkey , class Tval >
void shamalgs::algorithm::details::sort_by_key_bitonic_fallback ( sycl::queue &  q,
sycl::buffer< Tkey > &  buf_key,
sycl::buffer< Tval > &  buf_values,
u32  len 
)
inline

Definition at line 37 of file bitonicSort.hpp.

◆ sort_by_key_bitonic_legacy()

template<class Tkey , class Tval >
void shamalgs::algorithm::details::sort_by_key_bitonic_legacy ( sycl::queue &  q,
sycl::buffer< Tkey > &  buf_key,
sycl::buffer< Tval > &  buf_values,
u32  len 
)

Definition at line 102 of file bitonicSort_legacy.cpp.

◆ sort_by_key_bitonic_updated()

template<class Tkey , class Tval , u32 MaxStencilSize>
void shamalgs::algorithm::details::sort_by_key_bitonic_updated ( sycl::queue &  q,
sycl::buffer< Tkey > &  buf_key,
sycl::buffer< Tval > &  buf_values,
u32  len 
)

Definition at line 284 of file bitonicSort_updated.cpp.

◆ sort_by_key_bitonic_updated_usm()

template<class Tkey , class Tval , u32 MaxStencilSize>
void shamalgs::algorithm::details::sort_by_key_bitonic_updated_usm ( const sham::DeviceScheduler_ptr &  sched,
sham::DeviceBuffer< Tkey > &  buf_key,
sham::DeviceBuffer< Tval > &  buf_values,
u32  len 
)

Definition at line 285 of file bitonicSort_updated_usm.cpp.

◆ sort_by_key_bitonic_updated_xor_swap()

template<class Tkey , class Tval , u32 MaxStencilSize>
void shamalgs::algorithm::details::sort_by_key_bitonic_updated_xor_swap ( sycl::queue &  q,
sycl::buffer< Tkey > &  buf_key,
sycl::buffer< Tval > &  buf_values,
u32  len 
)

Definition at line 263 of file bitonicSort_updated_xor_swap.cpp.

◆ sort_by_key_radix_onesweep()

template<class Tkey , class Tval , u32 group_size, u32 digit_len>
void shamalgs::algorithm::details::sort_by_key_radix_onesweep ( sycl::queue &  q,
sycl::buffer< Tkey > &  buf_key,
sycl::buffer< Tval > &  buf_values,
u32  len 
)

Definition at line 54 of file radixSortOnesweep.hpp.