Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions | Variables
segmented_sort_in_place.cpp File Reference
#include "shamalgs/primitives/segmented_sort_in_place.hpp"
#include "shambase/alg_primitives.hpp"
#include "shambase/assert.hpp"
#include "shambackends/DeviceBuffer.hpp"
#include "shambackends/kernel_call.hpp"
+ Include dependency graph for segmented_sort_in_place.cpp:

Go to the source code of this file.

Namespaces

namespace  shamalgs
 namespace to contain everything implemented by shamalgs
 
namespace  shamalgs::primitives
 namespace for primitive algorithm (e.g. sort, scan, reductions, ...)
 
namespace  shamalgs::primitives::impl
 namespace to control implementation behavior
 

Enumerations

enum class  SEGMENTED_SORT_IN_PLACE_IMPL : u32 { LOCAL_INSERTION_SORT , MULTI_STD_SORT }
 

Functions

template<class T , class Comp >
void shamalgs::primitives::details::segmented_sort_in_place_local_insertion_sort (sham::DeviceBuffer< T > &buf, const sham::DeviceBuffer< u32 > &offsets, Comp &&comp)
 
template<class T , class Comp >
void shamalgs::primitives::details::segmented_sort_in_place_multi_std_sort (sham::DeviceBuffer< T > &buf, const sham::DeviceBuffer< u32 > &offsets, Comp &&comp)
 
SEGMENTED_SORT_IN_PLACE_IMPL shamalgs::primitives::impl::get_default_segmented_sort_in_place_impl ()
 
SEGMENTED_SORT_IN_PLACE_IMPL shamalgs::primitives::impl::segmented_sort_in_place_impl_from_params (const std::string &impl)
 
shamalgs::impl_param shamalgs::primitives::impl::segmented_sort_in_place_impl_to_params (const SEGMENTED_SORT_IN_PLACE_IMPL &impl)
 
std::vector< shamalgs::impl_paramshamalgs::primitives::impl::get_default_impl_list_segmented_sort_in_place ()
 Get list of available segmented sort in place implementations.
 
shamalgs::impl_param shamalgs::primitives::impl::get_current_impl_segmented_sort_in_place ()
 Get the current implementation for segmented sort in place.
 
void shamalgs::primitives::impl::set_impl_segmented_sort_in_place (const std::string &impl, const std::string &param="")
 Set the implementation for segmented sort in place.
 
template<class T , class Comp >
void shamalgs::primitives::internal_segmented_sort_in_place (sham::DeviceBuffer< T > &buf, const sham::DeviceBuffer< u32 > &offsets, Comp &&comp)
 
template<>
void shamalgs::primitives::segmented_sort_in_place< u32_2 > (sham::DeviceBuffer< u32_2 > &buf, const sham::DeviceBuffer< u32 > &offsets)
 
template<>
void shamalgs::primitives::segmented_sort_in_place< u32 > (sham::DeviceBuffer< u32 > &buf, const sham::DeviceBuffer< u32 > &offsets)
 

Variables

SEGMENTED_SORT_IN_PLACE_IMPL shamalgs::primitives::impl::segmented_sort_in_place_impl = get_default_segmented_sort_in_place_impl()
 

Detailed Description

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)

Definition in file segmented_sort_in_place.cpp.

Function Documentation

◆ segmented_sort_in_place_local_insertion_sort()

template<class T , class Comp >
void shamalgs::primitives::details::segmented_sort_in_place_local_insertion_sort ( sham::DeviceBuffer< T > &  buf,
const sham::DeviceBuffer< u32 > &  offsets,
Comp &&  comp 
)
inline

Definition at line 25 of file segmented_sort_in_place.cpp.

◆ segmented_sort_in_place_multi_std_sort()

template<class T , class Comp >
void shamalgs::primitives::details::segmented_sort_in_place_multi_std_sort ( sham::DeviceBuffer< T > &  buf,
const sham::DeviceBuffer< u32 > &  offsets,
Comp &&  comp 
)
inline

Definition at line 64 of file segmented_sort_in_place.cpp.