1 #ifndef DASH__ONESIDED_H__ 2 #define DASH__ONESIDED_H__ 22 put(
const dart_gptr_t& gptr,
const T *src,
size_t nelem) {
42 get(
const dart_gptr_t& gptr, T *dst,
size_t nelem) {
62 put_blocking(
const dart_gptr_t& gptr,
const T *src,
size_t nelem) {
82 get_blocking(
const dart_gptr_t& gptr, T *dst,
size_t nelem) {
151 template<
typename T,
typename GlobPtrType>
153 const GlobPtrType & gptr)
163 template<
typename T,
typename GlobPtrType>
165 const GlobPtrType & gptr)
178 template<
typename T,
typename GlobPtrType>
184 const GlobPtrType & gptr)
186 dash::internal::put(gptr.dart_gptr(), &newval, 1);
195 template<
typename T,
typename GlobPtrType>
202 const GlobPtrType & gptr)
204 dash::internal::get(gptr.dart_gptr(), ptr, 1);
212 template<
typename T,
typename GlobPtrType>
218 const GlobPtrType & gptr)
220 dash::internal::put_blocking(gptr.dart_gptr(), &newval, 1);
228 template<
typename T,
typename GlobPtrType>
235 const GlobPtrType & gptr)
237 dash::internal::get_blocking(gptr.dart_gptr(), ptr, 1);
242 #endif // DASH__ONESIDED_H__ This class is a simple memory pool which holds allocates elements of size ValueType.
dart_ret_t dart_put(dart_gptr_t gptr, const void *src, size_t nelem, dart_datatype_t src_type, dart_datatype_t dst_type)
'REGULAR' variant of dart_put.
dart_ret_t dart_put_blocking(dart_gptr_t gptr, const void *src, size_t nelem, dart_datatype_t src_type, dart_datatype_t dst_type)
'BLOCKING' variant of dart_put.
void put_value_async(const T &newval, const GlobPtrType &gptr)
Write a value to a global pointer, non-blocking.
void get_value_async(T *ptr, const GlobPtrType &gptr)
Read a value fom a global pointer, non-blocking.
void fence(const GlobPtrType &gptr)
Block until local and global completion of operations on a global address.
dart_ret_t dart_flush_local(dart_gptr_t gptr)
Guarantee local completion of all outstanding operations involving a segment on a certain unit...
dart_ret_t dart_get_blocking(void *dest, dart_gptr_t gptr, size_t nelem, dart_datatype_t src_type, dart_datatype_t dst_type)
'BLOCKING' variant of dart_get.
dart_ret_t dart_get(void *dest, dart_gptr_t gptr, size_t nelem, dart_datatype_t src_type, dart_datatype_t dst_type)
'REGULAR' variant of dart_get.
void fence_local(const GlobPtrType &gptr)
Block until local completion of operations on a global address.
void put_value(const T &newval, const GlobPtrType &gptr)
Write a value to a global pointer.
DART Global pointer type.
struct dart_handle_struct * dart_handle_t
Handle returned by dart_get_handle and the like used to wait for a specific operation to complete usi...
Convencience wrapper to determine the DART type and number of elements required for the given templat...
void get_value(T *ptr, const GlobPtrType &gptr)
Read a value fom a global pointer.
dart_ret_t dart_put_handle(dart_gptr_t gptr, const void *src, size_t nelem, dart_datatype_t src_type, dart_datatype_t dst_type, dart_handle_t *handle)
'HANDLE' variant of dart_put.
dart_ret_t dart_get_handle(void *dest, dart_gptr_t gptr, size_t nelem, dart_datatype_t src_type, dart_datatype_t dst_type, dart_handle_t *handle)
'HANDLE' variant of dart_get.
dart_ret_t dart_flush(dart_gptr_t gptr)
Guarantee completion of all outstanding operations involving a segment on a certain unit...