---
name: "shmem_longlong_finc"
section: "3"
platform: "linux"
package: "openmpi"
version: "5.0.11-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/shmem_longlong_finc"
---

# shmem\_longlong\_finc(3)

shmem\_int4\_finc(3), shmem\_int8\_finc(3), [*shmem\_int\_finc*(3)](/shmem_int_finc/3.md), [*shmem\_long\_finc*(3)](/shmem_long_finc/3.md), [*shmem\_longlong\_finc*(3)](/shmem_longlong_finc/3.md) - Performs an atomic fetch-and-increment operation on a remote data object

## SYNOPSIS

C or C++:

```
#include <mpp/shmem.h>
int shmem_int_finc(int *target, int pe)
long shmem_long_finc(long *target, int pe)
long long shmem_longlong_finc(long long *target, int pe)
```

Fortran:

```
INCLUDE "mpp/shmem.fh"
INTEGER pe
INTEGER(KIND=4) SHMEM_INT4_FINC, target4
INTEGER(KIND=8) SHMEM_INT8_FINC, target8
ires4 = SHMEM_INT4_FINC(target4, pe)
ires8 = SHMEM_INT8_FINC(target8, pe)
```

## DESCRIPTION

The fetch and increment routines retrieve the value at address **target** on PE **pe**, and update **target** with the result of incrementing the retrieved value by one. The operation must be completed without the possibility of another process updating **target** between the time of the fetch and the update.

The arguments are as follows:

- **target**

  The remotely accessible integer data object to be updated on the remote PE. The type of target should match that implied in the SYNOPSIS section.

- **pe**

  An integer that indicates the PE number upon which target is to be updated. If you are using Fortran, it must be a default integer value.

## NOTES

The term remotely accessible is defined in [*intro\_shmem*(3)](/intro_shmem/3.md).

## RETURN VALUES

The contents that had been at the target address on the remote PE prior to the increment.

**SEE ALSO:**

[*intro\_shmem*(3)](/intro_shmem/3.md)

## COPYRIGHT

2003-2026, The Open MPI Community
