![]() |
Shamrock 2025.10.0
Astrophysical Code
|
Sort by keys algorithms. More...
#include "shambackends/DeviceBuffer.hpp"#include "shambackends/DeviceScheduler.hpp"#include <string>#include <vector>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 | |
Functions | |
| template<class Tkey, class Tval> | |
| void | shamalgs::primitives::sort_by_keys (sham::DeviceBuffer< Tkey > &buf_key, sham::DeviceBuffer< Tval > &buf_values, u32 len) |
| Sort key-value pairs using USM buffers (general length). | |
| std::vector< std::string > | shamalgs::primitives::impl::get_default_impl_list_sort_by_keys () |
| Get list of available sort by keys implementations, as config json strings. | |
| std::string | shamalgs::primitives::impl::get_current_impl_sort_by_keys () |
| Get the current implementation for sort by keys, as a config json string. | |
| bool | shamalgs::primitives::impl::is_impl_set_sort_by_keys () |
| Check if an implementation has been selected for sort by keys. | |
| void | shamalgs::primitives::impl::set_impl_sort_by_keys (const std::string &impl) |
| Set the implementation for sort by keys, from a config json string. | |
| void | shamalgs::primitives::impl::autoselect_impl_sort_by_keys (const sham::DeviceScheduler_ptr &dev_sched) |
| Select the default implementation for sort by keys. | |
Sort by keys algorithms.
This header provides a parallel sorting algorithm that sorts key-value pairs based on the key values.
sort_by_keys supports any buffer length and selects its implementation through the generic implementation selector mechanism (see ImplVariant.hpp).
Definition in file sort_by_keys.hpp.