1#ifndef included_AMP_DeviceDataHelpers_h
2#define included_AMP_DeviceDataHelpers_h
6namespace LinearAlgebra {
14template<
typename STYPE,
typename DTYPE = STYPE>
20 static bool containsIndex(
const size_t N,
const size_t *indices,
const size_t i );
23 allGhostIndices(
const size_t N,
const size_t *indices,
const size_t start,
const size_t end );
25 static void setValuesByIndex(
size_t N,
const size_t *indices,
const STYPE *src, DTYPE *dst );
27 static void addValuesByIndex(
size_t N,
const size_t *indices,
const STYPE *src, DTYPE *dst );
29 static void getValuesByIndex(
size_t N,
const size_t *indices,
const STYPE *src, DTYPE *dst );
32 const size_t *globalIDs,
37 const size_t dst_size,
41 const size_t *globalIDs,
46 const size_t dst_size,
50 const size_t *globalIDs,
54 const size_t src_size,
60 const size_t *globalIDs,
64 const size_t src_size,
A default set of helper functions for vector operations.
static void getGhostValuesByGlobalID(const size_t gsize, const size_t *globalIDs, const size_t N, const size_t *ndxReq, size_t *ndxMap, const size_t src_size, const STYPE *src1, const STYPE *src2, DTYPE *dst)
static void getValuesByIndex(size_t N, const size_t *indices, const STYPE *src, DTYPE *dst)
static void addValuesByIndex(size_t N, const size_t *indices, const STYPE *src, DTYPE *dst)
static void setGhostValuesByGlobalID(const size_t gsize, const size_t *globalIDs, const size_t N, const size_t *ndxReq, size_t *ndxMap, const STYPE *src, const size_t dst_size, DTYPE *dst)
static void setValuesByIndex(size_t N, const size_t *indices, const STYPE *src, DTYPE *dst)
static void addGhostValuesByGlobalID(const size_t gsize, const size_t *globalIDs, const size_t N, const size_t *ndxReq, size_t *ndxMap, const STYPE *src, const size_t dst_size, DTYPE *dst)
static void getGhostAddValuesByGlobalID(const size_t gsize, const size_t *globalIDs, const size_t N, const size_t *ndxReq, size_t *ndxMap, const size_t src_size, const STYPE *src, DTYPE *dst)
static bool allGhostIndices(const size_t N, const size_t *indices, const size_t start, const size_t end)
static bool containsIndex(const size_t N, const size_t *indices, const size_t i)