![]() |
Shamrock 2025.10.0
Astrophysical Code
|
namespace to control implementation behavior More...
Classes | |
| class | HistogramImplControl |
Enumerations | |
| enum class | histo_impl { reference , naive_gpu , gpu_team_fetching , gpu_oversubscribe } |
| enum class | SEGMENTED_SORT_IN_PLACE_IMPL : u32 { LOCAL_INSERTION_SORT , MULTI_STD_SORT } |
Functions | |
| template<class T , class Tbins , class... Targs, class Tfunctor > | |
| void | compute_histogram_reference (const sham::DeviceBuffer< Tbins > &bin_edge_inf, const sham::DeviceBuffer< Tbins > &bin_edge_sup, size_t nbins, size_t element_count, Tfunctor &&functor, sham::DeviceBuffer< T > &result, const sham::DeviceBuffer< Targs > &...input_data) |
| template<class T , class Tbins , class... Targs, class Tfunctor > | |
| void | compute_histogram_naive_gpu (const sham::DeviceScheduler_ptr &dev_sched, const sham::DeviceBuffer< Tbins > &bin_edge_inf, const sham::DeviceBuffer< Tbins > &bin_edge_sup, size_t nbins, size_t element_count, Tfunctor &&functor, sham::DeviceBuffer< T > &result, const sham::DeviceBuffer< Targs > &...input_data) |
| template<class T , class Tbins , class... Targs, class Tfunctor > | |
| void | compute_histogram_gpu_team_fetching (const sham::DeviceScheduler_ptr &dev_sched, const sham::DeviceBuffer< Tbins > &bin_edge_inf, const sham::DeviceBuffer< Tbins > &bin_edge_sup, size_t nbins, size_t element_count, Tfunctor &&functor, sham::DeviceBuffer< T > &result, const sham::DeviceBuffer< Targs > &...input_data) |
| template<class T , class Tbins , class... Targs, class Tfunctor > | |
| void | compute_histogram_gpu_oversubscribe (const sham::DeviceScheduler_ptr &dev_sched, u32 group_size, const sham::DeviceBuffer< Tbins > &bin_edge_inf, const sham::DeviceBuffer< Tbins > &bin_edge_sup, size_t nbins, size_t element_count, Tfunctor &&functor, sham::DeviceBuffer< T > &result, const sham::DeviceBuffer< Targs > &...input_data) |
| std::vector< shamalgs::impl_param > | get_default_impl_list_is_all_true () |
| Get list of available is_all_true implementations. | |
| shamalgs::impl_param | get_current_impl_is_all_true () |
| Get the current implementation for is_all_true. | |
| void | set_impl_is_all_true (const std::string &impl, const std::string ¶m="") |
| Set the implementation for is_all_true. | |
| std::vector< shamalgs::impl_param > | get_default_impl_list_reduction () |
| Get list of available reduction implementations. | |
| shamalgs::impl_param | get_current_impl_reduction () |
| Get the current implementation for reduction. | |
| void | set_impl_reduction (const std::string &impl, const std::string ¶m="") |
| Set the implementation for reduction. | |
| std::vector< shamalgs::impl_param > | get_default_impl_list_scan_exclusive_sum_in_place () |
| Get list of available scan_exclusive_sum_in_place implementations. | |
| shamalgs::impl_param | get_current_impl_scan_exclusive_sum_in_place () |
| Get the current implementation for scan_exclusive_sum_in_place. | |
| void | set_impl_scan_exclusive_sum_in_place (const std::string &impl, const std::string ¶m="") |
| Set the implementation for scan_exclusive_sum_in_place. | |
| std::vector< shamalgs::impl_param > | get_default_impl_list_segmented_sort_in_place () |
| Get list of available segmented sort in place implementations. | |
| shamalgs::impl_param | get_current_impl_segmented_sort_in_place () |
| Get the current implementation for segmented sort in place. | |
| void | set_impl_segmented_sort_in_place (const std::string &impl, const std::string ¶m="") |
| Set the implementation for segmented sort in place. | |
| SEGMENTED_SORT_IN_PLACE_IMPL | get_default_segmented_sort_in_place_impl () |
| SEGMENTED_SORT_IN_PLACE_IMPL | segmented_sort_in_place_impl_from_params (const std::string &impl) |
| shamalgs::impl_param | segmented_sort_in_place_impl_to_params (const SEGMENTED_SORT_IN_PLACE_IMPL &impl) |
Variables | |
| HistogramImplControl | compute_histogram_impl_control {} |
| SEGMENTED_SORT_IN_PLACE_IMPL | segmented_sort_in_place_impl = get_default_segmented_sort_in_place_impl() |
namespace to control implementation behavior
|
strong |
Definition at line 37 of file compute_histogram.hpp.
|
strong |
Definition at line 109 of file segmented_sort_in_place.cpp.
|
inline |
Definition at line 274 of file compute_histogram.hpp.
|
inline |
Definition at line 181 of file compute_histogram.hpp.
|
inline |
Definition at line 142 of file compute_histogram.hpp.
|
inline |
Definition at line 99 of file compute_histogram.hpp.
| shamalgs::impl_param shamalgs::primitives::impl::get_current_impl_is_all_true | ( | ) |
Get the current implementation for is_all_true.
Definition at line 104 of file is_all_true.cpp.
| shamalgs::impl_param shamalgs::primitives::impl::get_current_impl_reduction | ( | ) |
Get the current implementation for reduction.
Definition at line 95 of file reduction.cpp.
| shamalgs::impl_param shamalgs::primitives::impl::get_current_impl_scan_exclusive_sum_in_place | ( | ) |
Get the current implementation for scan_exclusive_sum_in_place.
Definition at line 200 of file scan_exclusive_sum_in_place.cpp.
| shamalgs::impl_param shamalgs::primitives::impl::get_current_impl_segmented_sort_in_place | ( | ) |
Get the current implementation for segmented sort in place.
Definition at line 154 of file segmented_sort_in_place.cpp.
| std::vector< shamalgs::impl_param > shamalgs::primitives::impl::get_default_impl_list_is_all_true | ( | ) |
Get list of available is_all_true implementations.
Definition at line 94 of file is_all_true.cpp.
| std::vector< shamalgs::impl_param > shamalgs::primitives::impl::get_default_impl_list_reduction | ( | ) |
Get list of available reduction implementations.
Definition at line 84 of file reduction.cpp.
| std::vector< shamalgs::impl_param > shamalgs::primitives::impl::get_default_impl_list_scan_exclusive_sum_in_place | ( | ) |
Get list of available scan_exclusive_sum_in_place implementations.
Definition at line 185 of file scan_exclusive_sum_in_place.cpp.
| std::vector< shamalgs::impl_param > shamalgs::primitives::impl::get_default_impl_list_segmented_sort_in_place | ( | ) |
Get list of available segmented sort in place implementations.
Definition at line 146 of file segmented_sort_in_place.cpp.
| SEGMENTED_SORT_IN_PLACE_IMPL shamalgs::primitives::impl::get_default_segmented_sort_in_place_impl | ( | ) |
Definition at line 114 of file segmented_sort_in_place.cpp.
|
inline |
Definition at line 121 of file segmented_sort_in_place.cpp.
|
inline |
Definition at line 134 of file segmented_sort_in_place.cpp.
| void shamalgs::primitives::impl::set_impl_is_all_true | ( | const std::string & | impl, |
| const std::string & | param = "" |
||
| ) |
Set the implementation for is_all_true.
Definition at line 99 of file is_all_true.cpp.
| void shamalgs::primitives::impl::set_impl_reduction | ( | const std::string & | impl, |
| const std::string & | param = "" |
||
| ) |
Set the implementation for reduction.
Definition at line 99 of file reduction.cpp.
| void shamalgs::primitives::impl::set_impl_scan_exclusive_sum_in_place | ( | const std::string & | impl, |
| const std::string & | param = "" |
||
| ) |
Set the implementation for scan_exclusive_sum_in_place.
Definition at line 204 of file scan_exclusive_sum_in_place.cpp.
| 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.
Definition at line 159 of file segmented_sort_in_place.cpp.
|
inline |
Definition at line 96 of file compute_histogram.hpp.
| SEGMENTED_SORT_IN_PLACE_IMPL shamalgs::primitives::impl::segmented_sort_in_place_impl = get_default_segmented_sort_in_place_impl() |
Definition at line 118 of file segmented_sort_in_place.cpp.