CPPuddle
Namespaces | Macros | Functions
kokkos_aggregation_util.hpp File Reference
#include <hpx/futures/future.hpp>
#include <hpx/kokkos/executors.hpp>
#include <Kokkos_Core.hpp>
#include <hpx/kokkos.hpp>
#include <cppuddle/executor_recycling/executor_pools_interface.hpp>
#include <aggregation_manager.hpp>
Include dependency graph for kokkos_aggregation_util.hpp:

Go to the source code of this file.

Namespaces

 cppuddle
 
 cppuddle::kernel_aggregation
 CPPuddle namespace containing the kernel aggregation functionality.
 

Macros

#define CPPUDDLE_HOST_DEVICE_METHOD
 

Functions

template<typename Agg_view_t >
CPPUDDLE_HOST_DEVICE_METHOD Agg_view_t::view_type cppuddle::kernel_aggregation::get_slice_subview (const size_t slice_id, const size_t max_slices, const Agg_view_t &agg_view)
 Get subview for the current slice. More...
 
template<typename Integer , std::enable_if_t< std::is_integral< Integer >::value, bool > = true, typename Agg_view_t , typename... Args>
CPPUDDLE_HOST_DEVICE_METHOD auto cppuddle::kernel_aggregation::map_views_to_slice (const Integer slice_id, const Integer max_slices, const Agg_view_t &current_arg, const Args &...rest)
 
template<typename Agg_executor_t , typename Agg_view_t , std::enable_if_t< Kokkos::is_view< typename Agg_view_t::view_type >::value, bool > = true, typename... Args>
CPPUDDLE_HOST_DEVICE_METHOD auto cppuddle::kernel_aggregation::map_views_to_slice (const Agg_executor_t &agg_exec, const Agg_view_t &current_arg, const Args &...rest)
 
template<typename Agg_executor_t , typename TargetView_t , typename SourceView_t >
void cppuddle::kernel_aggregation::aggregated_deep_copy (Agg_executor_t &agg_exec, TargetView_t &target, SourceView_t &source)
 Convenience function to perform an aggregated deep copy. More...
 
template<typename Agg_executor_t , typename TargetView_t , typename SourceView_t >
void cppuddle::kernel_aggregation::aggregated_deep_copy (Agg_executor_t &agg_exec, TargetView_t &target, SourceView_t &source, int elements_per_slice)
 Convenience function to perform an aggregated deep copy. More...
 
template<typename executor_t , typename TargetView_t , typename SourceView_t >
hpx::shared_future< void > cppuddle::kernel_aggregation::aggregrated_deep_copy_async (typename Aggregated_Executor< executor_t >::Executor_Slice &agg_exec, TargetView_t &target, SourceView_t &source)
 Convenience function to launch an aggregated kernel and get a future back. More...
 
template<typename executor_t , typename TargetView_t , typename SourceView_t >
hpx::shared_future< void > cppuddle::kernel_aggregation::aggregrated_deep_copy_async (typename Aggregated_Executor< executor_t >::Executor_Slice &agg_exec, TargetView_t &target, SourceView_t &source, int elements_per_slice)
 Convenience function to launch an aggregated kernel and get a future back. More...
 

Macro Definition Documentation

◆ CPPUDDLE_HOST_DEVICE_METHOD

#define CPPUDDLE_HOST_DEVICE_METHOD