CPPuddle
|
#include <hpx/hpx_init.hpp>
#include <hpx/include/async.hpp>
#include <hpx/include/lcos.hpp>
#include <hpx/kokkos.hpp>
#include <Kokkos_Core.hpp>
#include <cstdio>
#include <typeinfo>
#include <hpx/timing/high_resolution_timer.hpp>
#include <memory>
#include "cppuddle/memory_recycling/std_recycling_allocators.hpp"
#include "cppuddle/memory_recycling/cuda_recycling_allocators.hpp"
#include "cppuddle/memory_recycling/util/recycling_kokkos_view.hpp"
#include <cassert>
Macros | |
#define | USE_HPX_MAIN |
Typedefs | |
template<class T > | |
using | kokkos_um_array = Kokkos::View< T **, Kokkos::HostSpace, Kokkos::MemoryUnmanaged > |
template<class T > | |
using | recycle_host_view = cppuddle::memory_recycling::recycling_view< kokkos_um_array< T >, cppuddle::memory_recycling::recycle_std< T >, T > |
template<class T > | |
using | kokkos_um_device_array = Kokkos::View< T **, Kokkos::CudaSpace, Kokkos::MemoryUnmanaged > |
template<class T > | |
using | recycle_device_view = cppuddle::memory_recycling::recycling_view< kokkos_um_device_array< T >, cppuddle::memory_recycling::recycle_allocator_cuda_device< T >, T > |
template<class T > | |
using | kokkos_um_pinned_array = Kokkos::View< T **, typename kokkos_um_device_array< T >::array_layout, Kokkos::CudaHostPinnedSpace, Kokkos::MemoryUnmanaged > |
template<class T > | |
using | recycle_pinned_view = cppuddle::memory_recycling::recycling_view< kokkos_um_pinned_array< T >, cppuddle::memory_recycling::recycle_allocator_cuda_host< T >, T > |
Functions | |
template<typename Executor , typename ViewType > | |
auto | get_iteration_policy (const Executor &&executor, const ViewType &view_to_iterate) |
int | hpx_main (int argc, char *argv[]) |
int | main (int argc, char *argv[]) |
Variables | |
constexpr size_t | view_size_0 = 10 |
constexpr size_t | view_size_1 = 50 |
#define USE_HPX_MAIN |
using kokkos_um_array = Kokkos::View<T **, Kokkos::HostSpace, Kokkos::MemoryUnmanaged> |
using kokkos_um_device_array = Kokkos::View<T **, Kokkos::CudaSpace, Kokkos::MemoryUnmanaged> |
using kokkos_um_pinned_array = Kokkos::View<T **, typename kokkos_um_device_array<T>::array_layout, Kokkos::CudaHostPinnedSpace, Kokkos::MemoryUnmanaged> |
using recycle_device_view = cppuddle::memory_recycling::recycling_view< kokkos_um_device_array<T>, cppuddle::memory_recycling::recycle_allocator_cuda_device<T>, T> |
using recycle_host_view = cppuddle::memory_recycling::recycling_view< kokkos_um_array<T>, cppuddle::memory_recycling::recycle_std<T>, T> |
using recycle_pinned_view = cppuddle::memory_recycling::recycling_view< kokkos_um_pinned_array<T>, cppuddle::memory_recycling::recycle_allocator_cuda_host<T>, T> |
auto get_iteration_policy | ( | const Executor && | executor, |
const ViewType & | view_to_iterate | ||
) |
int hpx_main | ( | int | argc, |
char * | argv[] | ||
) |
int main | ( | int | argc, |
char * | argv[] | ||
) |
|
constexpr |
|
constexpr |