Performs an atomic fetch-and-increment operation on a symmetric data object.
#include <shmem.h> long shmem_long_finc(long *target, int pe);
The shmem_long_finc routine performs an atomic fetch-and-increment operation. It increments the data objet pointed by target on PE specified by pe and returns the previous contents of target as an atomic operation.
The shmem_long_finc operates on long data object.
The atomic accessing of the shared variable is guaranteed only when that variable is updated solely using IBM openshmem functions.
To utilize the hardware atomic operations support of the PERCS system, the variables of these operations should be aligned with their natural byte alignments. For example, an int variable should be 4-byte aligned; a long long variable should be 8-byte aligned. If the participating variables are not aligned, the operation is done in software with sub-optimal performance
Subroutines: shmem_inc