5#include <Kokkos_Core.hpp>
21 using exec = Kokkos::DefaultHostExecutionSpace;
29 return static_cast<T*
>(Kokkos::kokkos_malloc<exec>(
"Field", size *
sizeof(T)));
33 T*
realloc(
void* ptr,
size_t newSize)
const
35 return static_cast<T*
>(Kokkos::kokkos_realloc<exec>(ptr, newSize *
sizeof(T)));
38 void*
alloc(
size_t size)
const {
return Kokkos::kokkos_malloc<exec>(
"Field", size); }
40 void*
realloc(
void* ptr,
size_t newSize)
const
42 return Kokkos::kokkos_realloc<exec>(ptr, newSize);
52 template<
typename ValueType>
55 return Kokkos::View<ValueType*, Kokkos::HostSpace, Kokkos::MemoryUnmanaged>(ptr, size);
58 void free(
void* ptr)
const noexcept { Kokkos::kokkos_free<exec>(ptr); };
60 std::string
name()
const {
return "CPUExecutor"; };
Executor for handling multicore CPU based parallelization.
T * realloc(void *ptr, size_t newSize) const
void free(void *ptr) const noexcept
decltype(auto) createKokkosView(ValueType *ptr, size_t size) const
create a Kokkos view for a given ptr
T * alloc(size_t size) const
void * alloc(size_t size) const
Kokkos::DefaultHostExecutionSpace exec
void * realloc(void *ptr, size_t newSize) const