Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
arch_device_host.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  arch::buf< T >

Namespaces

namespace  arch

Macros

#define ARCH_LOOP_LAMBDA   [=]
#define ARCH_INNER_BODY2(i, j, aggregate)
#define ARCH_INNER_BODY3(i, j, k, aggregate)
#define ARCH_INNER_BODY4(i, j, k, l, aggregate)

Functions

static void * arch::allocate (size_t bytes)
static void arch::free (void *ptr)
template<typename T>
static void arch::memcpy_h2d (T *dst, T *src, size_t bytes)
template<typename T>
static void arch::memcpy_d2h (T *dst, T *src, size_t bytes)
template<typename T>
static void arch::host_register (T *ptr, size_t bytes)
template<typename T>
static void arch::host_unregister (T *ptr)
template<reduce_op Op, uint NReductions, uint NDim, typename Lambda, typename T>
static void arch::parallel_reduce_driver (const uint(&limits)[1], Lambda loop_body, T *sum, const uint n_redu_dynamic)
template<reduce_op Op, uint NReductions, uint NDim, typename Lambda, typename T, typename = typename std::enable_if<std::is_void<typename std::invoke_result<Lambda, uint, uint, T*>::type>::value>::type>
static void arch::parallel_reduce_driver (const uint(&limits)[2], Lambda loop_body, T *sum, const uint n_redu_dynamic)
template<reduce_op Op, uint NReductions, uint NDim, typename Lambda, typename T, typename = typename std::enable_if<!std::is_void<typename std::invoke_result<Lambda, uint, uint, T*>::type>::value>::type, typename = void>
static void arch::parallel_reduce_driver (const uint(&limits)[2], Lambda loop_body, T *sum, const uint n_redu_dynamic)
template<reduce_op Op, uint NReductions, uint NDim, typename Lambda, typename T, typename = typename std::enable_if<std::is_void<typename std::invoke_result<Lambda, uint, uint, uint, T*>::type>::value>::type>
static void arch::parallel_reduce_driver (const uint(&limits)[3], Lambda loop_body, T *sum, const uint n_redu_dynamic)
template<reduce_op Op, uint NReductions, uint NDim, typename Lambda, typename T, typename = typename std::enable_if<!std::is_void<typename std::invoke_result<Lambda, uint, uint, uint, T*>::type>::value>::type, typename = void>
static void arch::parallel_reduce_driver (const uint(&limits)[3], Lambda loop_body, T *sum, const uint n_redu_dynamic)
template<reduce_op Op, uint NReductions, uint NDim, typename Lambda, typename T, typename = typename std::enable_if<std::is_void<typename std::invoke_result<Lambda, uint, uint, uint, uint, T*>::type>::value>::type>
static void arch::parallel_reduce_driver (const uint(&limits)[4], Lambda loop_body, T *sum, const uint n_redu_dynamic)
template<reduce_op Op, uint NReductions, uint NDim, typename Lambda, typename T, typename = typename std::enable_if<!std::is_void<typename std::invoke_result<Lambda, uint, uint, uint, uint, T*>::type>::value>::type, typename = void>
static void arch::parallel_reduce_driver (const uint(&limits)[4], Lambda loop_body, T *sum, const uint n_redu_dynamic)

Macro Definition Documentation

◆ ARCH_INNER_BODY2

#define ARCH_INNER_BODY2 ( i,
j,
aggregate )
Value:
return [=](auto i, auto j, auto *aggregate)
for i
Definition Dispersion.m:24
const int j

Definition at line 6 of file arch_device_host.h.

◆ ARCH_INNER_BODY3

#define ARCH_INNER_BODY3 ( i,
j,
k,
aggregate )
Value:
return [=](auto i, auto j, auto k, auto *aggregate)
const int k

Definition at line 7 of file arch_device_host.h.

◆ ARCH_INNER_BODY4

#define ARCH_INNER_BODY4 ( i,
j,
k,
l,
aggregate )
Value:
return [=](auto i, auto j, auto k, auto l, auto *aggregate)

Definition at line 8 of file arch_device_host.h.

◆ ARCH_LOOP_LAMBDA

#define ARCH_LOOP_LAMBDA   [=]

Definition at line 5 of file arch_device_host.h.