|
DASH
0.3.0
|
#include <dash/dart/if/dart_types.h>#include <dash/dart/if/dart_util.h>#include <dash/dart/if/dart_globmem.h>

Go to the source code of this file.
Functions | |
Collective operations | |
Collective operations involving all units of a given team. | |
| dart_ret_t | dart_barrier (dart_team_t team) |
| DART Equivalent to MPI_Barrier. More... | |
| dart_ret_t | dart_bcast (void *buf, size_t nelem, dart_datatype_t dtype, dart_team_unit_t root, dart_team_t team) |
| DART Equivalent to MPI broadcast. More... | |
| dart_ret_t | dart_scatter (const void *sendbuf, void *recvbuf, size_t nelem, dart_datatype_t dtype, dart_team_unit_t root, dart_team_t team) |
| DART Equivalent to MPI scatter. More... | |
| dart_ret_t | dart_gather (const void *sendbuf, void *recvbuf, size_t nelem, dart_datatype_t dtype, dart_team_unit_t root, dart_team_t team) |
| DART Equivalent to MPI gather. More... | |
| dart_ret_t | dart_allgather (const void *sendbuf, void *recvbuf, size_t nelem, dart_datatype_t dtype, dart_team_t team) |
| DART Equivalent to MPI allgather. More... | |
| dart_ret_t | dart_allgatherv (const void *sendbuf, size_t nsendelem, dart_datatype_t dtype, void *recvbuf, const size_t *nrecvelem, const size_t *recvdispls, dart_team_t teamid) |
| DART Equivalent to MPI allgatherv. More... | |
| dart_ret_t | dart_allreduce (const void *sendbuf, void *recvbuf, size_t nelem, dart_datatype_t dtype, dart_operation_t op, dart_team_t team) |
| DART Equivalent to MPI allreduce. More... | |
| dart_ret_t | dart_alltoall (const void *sendbuf, void *recvbuf, size_t nelem, dart_datatype_t dtype, dart_team_t team) |
| DART Equivalent to MPI alltoall. More... | |
| dart_ret_t | dart_reduce (const void *sendbuf, void *recvbuf, size_t nelem, dart_datatype_t dtype, dart_operation_t op, dart_team_unit_t root, dart_team_t team) |
| DART Equivalent to MPI_Reduce. More... | |
Atomic operations | |
Operations performing element-wise atomic updates on a given global pointer. | |
| dart_ret_t | dart_accumulate (dart_gptr_t gptr, const void *values, size_t nelem, dart_datatype_t dtype, dart_operation_t op) |
Perform an element-wise atomic update on the values pointed to by gptr by applying the operation op with the corresponding value in value on them. More... | |
| dart_ret_t | dart_accumulate_blocking_local (dart_gptr_t gptr, const void *values, size_t nelem, dart_datatype_t dtype, dart_operation_t op) |
Perform an element-wise atomic update on the values pointed to by gptr by applying the operation op with the corresponding value in value on them. More... | |
| dart_ret_t | dart_fetch_and_op (dart_gptr_t gptr, const void *value, void *result, dart_datatype_t dtype, dart_operation_t op) |
Perform an element-wise atomic update on the value of type dtype pointed to by gptr by applying the operation op with value on it and return the value beforethe update in result. More... | |
| dart_ret_t | dart_compare_and_swap (dart_gptr_t gptr, const void *value, const void *compare, void *result, dart_datatype_t dtype) |
Atomically replace the single value pointed to by gptr with the the value in value if it is equal to compare. More... | |
Non-blocking single-sided communication routines | |
DART single-sided communication routines that return without guaranteeing completion. Completion will be guaranteed after a flush operation. | |
| 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. More... | |
| 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. More... | |
| dart_ret_t | dart_flush (dart_gptr_t gptr) |
| Guarantee completion of all outstanding operations involving a segment on a certain unit. More... | |
| dart_ret_t | dart_flush_all (dart_gptr_t gptr) |
| Guarantee completion of all outstanding operations involving a segment on all units. More... | |
| dart_ret_t | dart_flush_local (dart_gptr_t gptr) |
| Guarantee local completion of all outstanding operations involving a segment on a certain unit. More... | |
| dart_ret_t | dart_flush_local_all (dart_gptr_t gptr) |
| Guarantee completion of all outstanding operations involving a segment on all units. More... | |
Blocking single-sided communication operations | |
These operations will block until completion of put and get is guaranteed. | |
| 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. More... | |
| 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. More... | |
Blocking two-sided communication operations | |
These operations will block until the operation is finished, i.e., the message has been successfully received. | |
| dart_ret_t | dart_send (const void *sendbuf, size_t nelem, dart_datatype_t dtype, int tag, dart_global_unit_t unit) |
| DART Equivalent to MPI send. More... | |
| dart_ret_t | dart_recv (void *recvbuf, size_t nelem, dart_datatype_t dtype, int tag, dart_global_unit_t unit) |
| DART Equivalent to MPI recv. More... | |
| dart_ret_t | dart_sendrecv (const void *sendbuf, size_t send_nelem, dart_datatype_t send_dtype, int send_tag, dart_global_unit_t dest, void *recvbuf, size_t recv_nelem, dart_datatype_t recv_dtype, int recv_tag, dart_global_unit_t src) |
| DART Equivalent to MPI sendrecv. More... | |
Non-blocking single-sided communication operations using handles | |
The handle can be used to wait for a specific operation to complete using | |
| #define | DART_HANDLE_NULL (dart_handle_t)NULL |
Handle returned by dart_get_handle and the like used to wait for a specific operation to complete using dart_wait etc. More... | |
| typedef 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 using dart_wait etc. More... | |
| 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. More... | |
| 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. More... | |
| dart_ret_t | dart_wait (dart_handle_t *handle) |
| Wait for the local and remote completion of an operation. More... | |
| dart_ret_t | dart_waitall (dart_handle_t handles[], size_t n) |
| Wait for the local and remote completion of operations. More... | |
| dart_ret_t | dart_wait_local (dart_handle_t *handle) |
| Wait for the local completion of an operation. More... | |
| dart_ret_t | dart_waitall_local (dart_handle_t handles[], size_t n) |
| Wait for the local completion of operations. More... | |
| dart_ret_t | dart_test_local (dart_handle_t *handle, int32_t *result) |
| Test for the local completion of an operation. More... | |
| dart_ret_t | dart_test (dart_handle_t *handleptr, int32_t *is_finished) |
| Test for the completion of an operation and ensure remote completion. More... | |
| dart_ret_t | dart_testall_local (dart_handle_t handles[], size_t n, int32_t *result) |
| Test for the local completion of operations. More... | |
| dart_ret_t | dart_testall (dart_handle_t handles[], size_t n, int32_t *is_finished) |
| Test for the completion of operations and ensure remote completion. More... | |
| dart_ret_t | dart_handle_free (dart_handle_t *handle) |
| Free the handle without testing or waiting for completion of the operation. More... | |
| #define DART_HANDLE_NULL (dart_handle_t)NULL |
Handle returned by dart_get_handle and the like used to wait for a specific operation to complete using dart_wait etc.
Definition at line 514 of file dart_communication.h.
Referenced by dash::halo::HaloUpdateEnv< HaloBlock_t, SigReady >::block_env().
| typedef 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 using dart_wait etc.
Definition at line 512 of file dart_communication.h.
| dart_ret_t dart_handle_free | ( | dart_handle_t * | handle | ) |
Free the handle without testing or waiting for completion of the operation.
| handle | Pointer to the handle to free. |
DART_OK on success, any other of dart_ret_t otherwise.