|
DASH
0.3.0
|
A set of basic communication routines in DART. More...
|
Collective operations | |
| 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... | |
Non-blocking single-sided communication operations using handles | |
The handle can be used to wait for a specific operation to complete using | |
| 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... | |
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... | |
A set of basic communication routines in DART.
The semantics of the routines below are the same as with MPI. DART data types specified using dart_datatype_t are directly mapped to MPI data types.
| dart_ret_t dart_accumulate | ( | dart_gptr_t | gptr, |
| const void * | values, | ||
| size_t | nelem, | ||
| dart_datatype_t | dtype, | ||
| dart_operation_t | op | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
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.
DART Equivalent to MPI_Accumulate.
| gptr | A global pointer determining the target of the accumulate operation. |
| values | The local buffer holding the elements to accumulate. |
| nelem | The number of local elements to accumulate per unit. |
| dtype | The data type to use in the accumulate operation op. |
| op | The accumulation operation to perform. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
Referenced by dash::GlobAsyncRef< dash::Atomic< T > >::set().
| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
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.
DART Equivalent to MPI_Accumulate. In contrast to dart_accumulate, this function blocks until the local buffer can be reused.
| gptr | A global pointer determining the target of the accumulate operation. |
| values | The local buffer holding the elements to accumulate. |
| nelem | The number of local elements to accumulate per unit. |
| dtype | The data type to use in the accumulate operation op. |
| op | The accumulation operation to perform. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
Referenced by dash::GlobAsyncRef< dash::Atomic< T > >::op(), and dash::GlobAsyncRef< dash::Atomic< T > >::set().
| dart_ret_t dart_allgather | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| size_t | nelem, | ||
| dart_datatype_t | dtype, | ||
| dart_team_t | team | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI allgather.
| sendbuf | The buffer containing the data to be sent by each unit. |
| recvbuf | The buffer to hold the received data. |
| nelem | Number of values sent by each process and received from each unit. |
| dtype | The data type of values in sendbuf and recvbuf. |
| team | The team to participate in the allgather. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
Referenced by dash::min_element().
| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI allgatherv.
| sendbuf | The buffer containing the data to be sent by each unit. |
| nsendelem | Number of values to be sent by this unit. |
| dtype | The data type of values in sendbuf and recvbuf. |
| recvbuf | The buffer to hold the received data. |
| nrecvelem | Array containing the number of values to receive from each unit. |
| recvdispls | Array containing the displacements of data received from each unit in recvbuf. |
| teamid | The team to participate in the allgatherv. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI allreduce.
| sendbuf | The buffer containing the data to be sent by each unit. |
| recvbuf | The buffer to hold the received data. |
| nelem | Number of elements sent by each process and received from each unit. |
| dtype | The data type of values in sendbuf and recvbuf to use in op. |
| op | The reduction operation to perform. |
| team | The team to participate in the allreduce. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
Referenced by dash::equal(), and dash::find().
| dart_ret_t dart_alltoall | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| size_t | nelem, | ||
| dart_datatype_t | dtype, | ||
| dart_team_t | team | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI alltoall.
| sendbuf | The buffer containing the data to be sent by each unit. |
| recvbuf | The buffer to hold the received data. |
| nelem | Number of elements sent by each process and received from each unit. The value of this parameter must not execeed INT_MAX. |
| dtype | The data type of values in sendbuf and recvbuf to use in op. |
| team | The team to participate in the allreduce. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
| dart_ret_t dart_barrier | ( | dart_team_t | team | ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI_Barrier.
| team | The team to perform a barrier on. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
Referenced by dash::GlobHeapMem< ElementType, LocalMemorySpace, AllocationPolicy, LocalAlloc >::barrier(), and dash::Team::is_member().
| dart_ret_t dart_bcast | ( | void * | buf, |
| size_t | nelem, | ||
| dart_datatype_t | dtype, | ||
| dart_team_unit_t | root, | ||
| dart_team_t | team | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI broadcast.
| buf | Buffer that is the source (on root) or the destination of the broadcast. |
| nelem | The number of values to broadcast/receive. |
| dtype | The data type of values in buf. |
| root | The unit that broadcasts data to all other members in team |
| team | The team to participate in the broadcast. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
Referenced by dash::coarray::cobroadcast(), and dash::Shared< ElementType >::init().
| dart_ret_t dart_compare_and_swap | ( | dart_gptr_t | gptr, |
| const void * | value, | ||
| const void * | compare, | ||
| void * | result, | ||
| dart_datatype_t | dtype | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Atomically replace the single value pointed to by gptr with the the value in value if it is equal to compare.
If the replacement succeeded, the resulting value is stored in result or the original value otherwise.
DART Equivalent to MPI_Compare_and_swap.
| gptr | A global pointer determining the target of the compare-and-swap operation. |
| value | Pointer to an element of type dtype to be swapped with the the value in gptr. |
| compare | Pointer to the value to compare gptr with. The swap will be performed if *(gptr) == *(compare). |
| result | Pointer to an element of type dtype to hold the value of the element referenced by gptr before the operation before the swap. |
| dtype | Data data type of all involved data elements. Note that only integral types are supported. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::GlobAsyncRef< dash::Atomic< T > >::compare_exchange().
| dart_ret_t dart_fetch_and_op | ( | dart_gptr_t | gptr, |
| const void * | value, | ||
| void * | result, | ||
| dart_datatype_t | dtype, | ||
| dart_operation_t | op | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
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.
DART Equivalent to MPI_Fetch_and_op.
| gptr | A global pointer determining the target of the fetch-and-op operation. |
| value | Pointer to an element of type dtype to be involved in operation op on the value referenced by gptr. |
| result | Pointer to an element of type dtype to hold the value of the element referenced by gptr before the operation op. |
| dtype | The data type to use in the operation op. |
| op | The operation to perform. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::GlobAsyncRef< dash::Atomic< T > >::fetch_op(), dash::GlobAsyncRef< dash::Atomic< T > >::get(), dash::GlobSharedRef< T, GlobalPointerType >::operator=(), and dash::GlobRef< T >::operator=().
| dart_ret_t dart_flush | ( | dart_gptr_t | gptr | ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Guarantee completion of all outstanding operations involving a segment on a certain unit.
Guarantees local and remote completion of all pending puts and gets on a certain memory allocation / window / segment for the target unit specified in gptr. Similar to MPI_Win_flush().
| gptr | Global pointer identifying the segment and unit to complete outstanding operations for. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::fence(), dash::GlobLocalMemoryPool< dash::HostSpace >::flush(), dash::Shared< ElementType >::flush(), dash::GlobAsyncRef< T >::flush(), dash::GlobAsyncRef< dash::Atomic< T > >::flush(), dash::GlobLocalMemoryPool< dash::HostSpace >::flush_local(), dash::GlobSharedRef< T, GlobalPointerType >::operator=(), and dash::GlobRef< T >::operator=().
| dart_ret_t dart_flush_all | ( | dart_gptr_t | gptr | ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Guarantee completion of all outstanding operations involving a segment on all units.
Guarantees local and remote completion of all pending puts and gets on a certain memory allocation / window / segment for all target units. Similar to MPI_Win_flush_all().
| gptr | Global pointer identifying the segment to complete outstanding operations for. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::GlobLocalMemoryPool< dash::HostSpace >::flush(), dash::GlobAsyncIter< ElementType, PatternType >::get(), and dash::GlobAsyncIter< ElementType, PatternType >::wait().
| dart_ret_t dart_flush_local | ( | dart_gptr_t | gptr | ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Guarantee local completion of all outstanding operations involving a segment on a certain unit.
Guarantees local completion of all pending puts and gets on a certain memory allocation / window / segment for the target unit specified in gptr. -> MPI_Win_flush_local()
| gptr | Global pointer identifying the segment and unit to complete outstanding operations for. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::fence_local(), dash::GlobLocalMemoryPool< dash::HostSpace >::flush_local(), and dash::GlobAsyncRef< dash::Atomic< T > >::get().
| dart_ret_t dart_flush_local_all | ( | dart_gptr_t | gptr | ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Guarantee completion of all outstanding operations involving a segment on all units.
Guarantees local completion of all pending puts and gets on a certain memory allocation / window / segment for the all units. -> MPI_Win_flush_local_all()
| gptr | Global pointer identifying the segment to complete outstanding operations for. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::GlobLocalMemoryPool< dash::HostSpace >::flush_local(), and dash::GlobAsyncIter< ElementType, PatternType >::push().
| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI gather.
| sendbuf | The buffer containing the data to be sent by each unit. |
| recvbuf | The buffer to hold the received data on unit root. |
| nelem | Number of elements of type dtype sent by each process and received from each unit at unit root. |
| dtype | The data type of values in sendbuf and recvbuf. |
| root | The unit that gathers all data from units in team. |
| team | The team to participate in the gather. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
| dart_ret_t dart_get | ( | void * | dest, |
| dart_gptr_t | gptr, | ||
| size_t | nelem, | ||
| dart_datatype_t | src_type, | ||
| dart_datatype_t | dst_type | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
'REGULAR' variant of dart_get.
Copy data referenced by a global pointer into local memory. When this functions returns, neither local nor remote completion is guaranteed. A later flush operation is needed to guarantee local and remote completion.
| dest | The local destination buffer to store the data to. |
| gptr | A global pointer determining the source of the get operation. |
| nelem | The number of elements of type dtype to transfer. |
| src_type | The data type of the values at the source. |
| dst_type | The data type of the values in buffer dest. |
DART_OK on success, any other of dart_ret_t otherwise.| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
'BLOCKING' variant of dart_get.
Both local and remote completion is guaranteed.
| dest | Local target memory to store the data. |
| gptr | Global pointer being the source of the data transfer. |
| nelem | The number of elements of type dtype to transfer. |
| src_type | The data type of the values at the source. |
| dst_type | The data type of the values in buffer dest. |
DART_OK on success, any other of dart_ret_t otherwise.| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
'HANDLE' variant of dart_get.
Neither local nor remote completion is guaranteed. A later dart_wait*() call or a fence/flush operation is needed to guarantee completion.
| dest | Local target memory to store the data. | |
| gptr | Global pointer being the source of the data transfer. | |
| nelem | The number of elements of dtype in buffer dest. | |
| src_type | The data type of the values at the source. | |
| dst_type | The data type of the values in buffer dest. | |
| [out] | handle | Pointer to DART handle to instantiate for later use with dart_wait, dart_wait_all etc. |
DART_OK on success, any other of dart_ret_t otherwise.| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
'REGULAR' variant of dart_put.
Copy data from local memory into memory referenced by a global pointer. When this functions returns, neither local nor remote completion is guaranteed. A later flush operation is needed to guarantee local and remote completion.
| gptr | A global pointer determining the target of the put operation. |
| src | The local source buffer to load the data from. |
| nelem | The number of elements of type dtype to transfer. |
| src_type | The data type of the values in buffer src. |
| dst_type | The data type of the values at the target. |
DART_OK on success, any other of dart_ret_t otherwise.| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
'BLOCKING' variant of dart_put.
Both local and remote completion is guaranteed.
| gptr | Global pointer being the target of the data transfer. |
| src | Local source memory to transfer data from. |
| nelem | The number of elements of type dtype to transfer. |
| src_type | The data type of the values in buffer src. |
| dst_type | The data type of the values at the target. |
DART_OK on success, any other of dart_ret_t otherwise.| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
'HANDLE' variant of dart_put.
Neither local nor remote completion is guaranteed. A later dart_wait*() call or a fence/flush operation is needed to guarantee completion.
| gptr | Global pointer being the target of the data transfer. | |
| src | Local source memory to transfer data from. | |
| nelem | The number of elements of type dtype to transfer. | |
| src_type | The data type of the values in buffer src. | |
| dst_type | The data type of the values at the target. | |
| [out] | handle | Pointer to DART handle to instantiate for later use with dart_wait, dart_wait_all etc. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_recv | ( | void * | recvbuf, |
| size_t | nelem, | ||
| dart_datatype_t | dtype, | ||
| int | tag, | ||
| dart_global_unit_t | unit | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI recv.
| recvbuf | Buffer for the incoming data. |
| nelem | Number of values received by the unit |
| dtype | The data type of values in recvbuf. |
| tag | Message tag for the distinction between different messages. |
| unit | Unit sending the message. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::coarray::sync_images().
| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI_Reduce.
| sendbuf | Buffer containing nelem elements to reduce using op. |
| recvbuf | Buffer of size nelem to store the result of the element-wise operation op in. |
| nelem | The number of elements of type dtype in sendbuf and recvbuf. |
| dtype | The data type of values stored in sendbuf and recvbuf. |
| op | The reduce operation to perform. |
| root | The unit receiving the reduced values. |
| team | The team to perform the reduction on. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI scatter.
| sendbuf | The buffer containing the data to be sent by unit root. |
| recvbuf | The buffer to hold the received data. |
| nelem | Number of values sent to each process and received by each unit. |
| dtype | The data type of values in sendbuf and recvbuf. |
| root | The unit that scatters data to all units in team. |
| team | The team to participate in the scatter. |
DART_OK on success, any other of dart_ret_t otherwise.{team}
| dart_ret_t dart_send | ( | const void * | sendbuf, |
| size_t | nelem, | ||
| dart_datatype_t | dtype, | ||
| int | tag, | ||
| dart_global_unit_t | unit | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI send.
| sendbuf | Buffer containing the data to be sent by the unit. |
| nelem | Number of values sent to the specified unit. |
| dtype | The data type of values in sendbuf. |
| tag | Message tag for the distinction between different messages. |
| unit | Unit the message is sent to. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::coarray::sync_images().
| 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 | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
DART Equivalent to MPI sendrecv.
| sendbuf | Buffer containing the data to be sent by the source unit. |
| send_nelem | Number of values sentby the source unit. |
| send_dtype | The data type of values in sendbuf. |
| dest | Unitthe message is sent to. |
| send_tag | Message tag for the distinction between different messages of the source unit. |
| recvbuf | Buffer for the incoming data. |
| recv_nelem | Number of values received by the destination unit. |
| recv_dtype | The data type of values in recvbuf. |
| src | Unit sending the message. |
| recv_tag | Message tag for the distinction between different messages of the destination unit. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_test | ( | dart_handle_t * | handleptr, |
| int32_t * | is_finished | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Test for the completion of an operation and ensure remote completion.
If the transfer completed, the handle is invalidated and may not be used in another dart_wait or dart_test operation.
| handle | The handle of an operation to test for completion. | |
| [out] | result | True if the operation has completed. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_test_local | ( | dart_handle_t * | handle, |
| int32_t * | result | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Test for the local completion of an operation.
If the transfer completed, the handle is invalidated and may not be used in another dart_wait or dart_test operation.
| handle | The handle of an operation to test for completion. | |
| [out] | result | True if the operation has completed. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_testall | ( | dart_handle_t | handles[], |
| size_t | n, | ||
| int32_t * | is_finished | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Test for the completion of operations and ensure remote completion.
If the transfers completed, the handles are invalidated and may not be used in another dart_wait or dart_test operation.
| handles | Array of handles of operations to test for completion. | |
| n | Number of handles to test for completion. | |
| [out] | result | True if all operations have completed. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_testall_local | ( | dart_handle_t | handles[], |
| size_t | n, | ||
| int32_t * | result | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Test for the local completion of operations.
If the transfers completed, the handles are invalidated and may not be used in another dart_wait or dart_test operation.
| handles | Array of handles of operations to test for completion. | |
| n | Number of handles to test for completion. | |
| [out] | result | True if all operations have completed. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_wait | ( | dart_handle_t * | handle | ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Wait for the local and remote completion of an operation.
| handle | The handle of the operation to wait for. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_wait_local | ( | dart_handle_t * | handle | ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Wait for the local completion of an operation.
Upon success, the handle is invalidated and may not be used in another dart_wait or dart_test operation.
| handle | Handle of an operations to wait for. |
DART_OK on success, any other of dart_ret_t otherwise.Referenced by dash::halo::HaloUpdateEnv< HaloBlock_t, SigReady >::update_at(), and dash::halo::HaloUpdateEnv< HaloBlock_t, SigReady >::wait().
| dart_ret_t dart_waitall | ( | dart_handle_t | handles[], |
| size_t | n | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Wait for the local and remote completion of operations.
Upon success, the handle is invalidated and may not be used in another dart_wait or dart_test operation.
| handles | Array of handles of operations to wait for. |
| n | Number of handles to wait for. |
DART_OK on success, any other of dart_ret_t otherwise.| dart_ret_t dart_waitall_local | ( | dart_handle_t | handles[], |
| size_t | n | ||
| ) |
#include </tmp/tmporruphar/dart-if/include/dash/dart/if/dart_communication.h>
Wait for the local completion of operations.
Upon success, the handles are invalidated and may not be used in another dart_wait or dart_test operation.
| handles | Array of handles of operations to wait for. |
| n | Number of handles to wait for. |
DART_OK on success, any other of dart_ret_t otherwise.