CPPuddle
|
Classes | |
class | aggregation_pool |
class | aggregated_function_call |
Manages the launch conditions for aggregated function calls type/value-errors. More... | |
class | allocator_slice |
Declaration since the actual allocator is only defined after the Executors. More... | |
class | aggregated_executor |
Executor Class that aggregates function calls for specific kernels. More... | |
Typedefs | |
using | aggregation_mutex_t = hpx::mutex |
Enumerations | |
enum class | aggregated_executor_modes { EAGER = 1 , STRICT , ENDLESS } |
Functions | |
template<typename aggregation_region_t > | |
void | init_area_aggregation_pool (const size_t max_slices) |
template<typename... Ts> | |
std::tuple< Ts... > | make_tuple_supporting_references (Ts &&...ts) |
Constructs a tuple with copies (to store temporaries in aggregated function calls) yet also supporting references (on the users own risk...) More... | |
template<typename T > | |
std::string | print_if_possible (T val) |
Print some specific values that we can, but don't bother for most types (such as vector) More... | |
template<class TupType , size_t... I> | |
void | print_tuple (const TupType &_tup, std::index_sequence< I... >) |
Helper class for the helper class that prints tuples – do not use this directly. More... | |
template<class... T> | |
void | print_tuple (const std::tuple< T... > &_tup) |
Helper class for printing tuples (first component should be a function pointer, remaining components the function arguments) More... | |
template<typename Executor , typename F , typename... Ts> | |
void | exec_post_wrapper (Executor &exec, F &&f, Ts &&...ts) |
template<typename Executor , typename F , typename... Ts> | |
hpx::lcos::future< void > | exec_async_wrapper (Executor &exec, F &&f, Ts &&...ts) |
template<typename T , typename U , typename Host_Allocator , typename Executor > | |
constexpr bool | operator== (allocator_slice< T, Host_Allocator, Executor > const &, allocator_slice< U, Host_Allocator, Executor > const &) noexcept |
template<typename T , typename U , typename Host_Allocator , typename Executor > | |
constexpr bool | operator!= (allocator_slice< T, Host_Allocator, Executor > const &, allocator_slice< U, Host_Allocator, Executor > const &) noexcept |
using cppuddle::kernel_aggregation::detail::aggregation_mutex_t = typedef hpx::mutex |
hpx::lcos::future<void> cppuddle::kernel_aggregation::detail::exec_async_wrapper | ( | Executor & | exec, |
F && | f, | ||
Ts &&... | ts | ||
) |
void cppuddle::kernel_aggregation::detail::exec_post_wrapper | ( | Executor & | exec, |
F && | f, | ||
Ts &&... | ts | ||
) |
void cppuddle::kernel_aggregation::detail::init_area_aggregation_pool | ( | const size_t | max_slices | ) |
std::tuple<Ts...> cppuddle::kernel_aggregation::detail::make_tuple_supporting_references | ( | Ts &&... | ts | ) |
Constructs a tuple with copies (to store temporaries in aggregated function calls) yet also supporting references (on the users own risk...)
|
constexprnoexcept |
|
constexprnoexcept |
std::string cppuddle::kernel_aggregation::detail::print_if_possible | ( | T | val | ) |
Print some specific values that we can, but don't bother for most types (such as vector)
void cppuddle::kernel_aggregation::detail::print_tuple | ( | const std::tuple< T... > & | _tup | ) |
Helper class for printing tuples (first component should be a function pointer, remaining components the function arguments)
void cppuddle::kernel_aggregation::detail::print_tuple | ( | const TupType & | _tup, |
std::index_sequence< I... > | |||
) |
Helper class for the helper class that prints tuples – do not use this directly.