shmemx_add_nb
Performs a non-blocking atomic add operation on a remote symmetric
data object.
Definitions
C/C++ Synopsis
void shmemx_add_nb(short *target, short value, int pe,
void **transfer_handle);
where TYPE is one of the standard AMO types specified by Table:1
void shmemx_##TYPENAME##_add_nb(TYPE *target, TYPE value, int pe,
void **transfer_handle)
Datatype Reference Table
Table:1
| TYPE | TYPENAME |
|-------------------------|---------------------|
| int | int |
| long | long |
| long long | longlong |
| unsigned int | uint |
| unsigned long | ulong |
| unsigned long long | ulonglong |
| int32_t | int32 |
| int64_t | int64 |
| uint32_t | uint32 |
| uint64_t | uint64 |
| size_t | size |
| ptrdiff_t | ptrdiff |
Arguments
target The remotely accessible integer data object to be updated on the
remote PE. When using C/C++, the type of target should match that
implied in the SYNOPSIS section.
value The value to be atomically added to target. When using C/C++, the
type of value should match that implied in the SYNOPSIS section.
pe An integer that indicates the PE number upon which is to be updated.
When using Fortran, it must be a default integer value.
transfer_handle Not utilizated. Supply NULL.
Description
The shmemx_add_nb routine performs a non-blocking atomic add operation. It
adds value to target on PE pe and atomically updates the target without
returning the value.
Return Values
None.
Notes
None.