Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
arch_device_api.h File Reference
#include <stdint.h>
#include "arch_device_host.h"
Include dependency graph for arch_device_api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  arch

Macros

#define ARCH_HOSTDEV
#define ARCH_DEV
#define ARCH_GET_MACRO(_1, _2, _3, _4, _5, NAME, ...)
#define ARCH_INNER_BODY(...)

Typedefs

typedef uint32_t arch::uint

Enumerations

enum  arch::reduce_op {
  arch::max , arch::min , arch::sum , arch::prod ,
  arch::null
}

Functions

template<reduce_op Op, uint NDim, typename Lambda, typename T>
static void arch::parallel_reduce (const uint(&limits)[NDim], Lambda loop_body, T &sum)
template<reduce_op Op, uint NDim, uint NReductions, typename Lambda, typename T>
static void arch::parallel_reduce (const uint(&limits)[NDim], Lambda loop_body, T(&sum)[NReductions])
template<reduce_op Op, uint NDim, typename Lambda, typename T>
static void arch::parallel_reduce (const uint(&limits)[NDim], Lambda loop_body, std::vector< T > &sum)

Macro Definition Documentation

◆ ARCH_DEV

#define ARCH_DEV

Definition at line 11 of file arch_device_api.h.

◆ ARCH_GET_MACRO

#define ARCH_GET_MACRO ( _1,
_2,
_3,
_4,
_5,
NAME,
... )
Value:
NAME

Definition at line 32 of file arch_device_api.h.

◆ ARCH_HOSTDEV

#define ARCH_HOSTDEV

Definition at line 10 of file arch_device_api.h.

◆ ARCH_INNER_BODY

#define ARCH_INNER_BODY ( ...)
Value:
#define ARCH_GET_MACRO(_1, _2, _3, _4, _5, NAME,...)
#define ARCH_INNER_BODY4(i, j, k, l, aggregate)
#define ARCH_INNER_BODY3(i, j, k, aggregate)
#define ARCH_INNER_BODY2(i, j, aggregate)

Definition at line 33 of file arch_device_api.h.