---
name: "shmem_long_fetch"
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_long_fetch"
---

# shmem\_long\_fetch(3)

shmem\_int4\_fetch(3), shmem\_int8\_fetch(3), [*shmem\_int\_fetch*(3)](/shmem_int_fetch/3.md), [*shmem\_long\_fetch*(3)](/shmem_long_fetch/3.md), [*shmem\_longlong\_fetch*(3)](/shmem_longlong_fetch/3.md) [*shmem\_double\_fetch*(3)](/shmem_double_fetch/3.md) [*shmem\_float\_fetch*(3)](/shmem_float_fetch/3.md) - Atomically fetches the value of a remote data object

## SYNOPSIS

C or C++:

```
#include <mpp/shmem.h>
int shmem_int_fetch(int *target, int pe)
long shmem_long_fetch(long *target, int pe)
long long shmem_longlong_fetch(long long *target, int pe)
double shmem_double_fetch(long long *target, int pe)
float  shmem_float_fetch(float *target, int pe)
```

Fortran:

```
INCLUDE "mpp/shmem.fh"
INTEGER pe
INTEGER(KIND=4) SHMEM_INT4_FETCH, ires, target
ires = SHMEM_INT4_FETCH(target, pe)
INTEGER(KIND=8) SHMEM_INT8_FETCH, ires, target
ires = SHMEM_INT8_FETCH(target, pe)
REAL(KIND=4) SHMEM_INT4_FETCH, ires, target
ires = SHMEM_REAL4_FETCH(target, pe)
REAL(KIND=8) SHMEM_INT8_FETCH, ires, target
ires = SHMEM_REAL8_FETCH(target, pe)
```

## DESCRIPTION

The shmem\_fetch functions perform an atomic fetch operation. They return the contents of the **target** as an atomic operation.

The arguments are as follows:

- **target**

  The remotely accessible data object to be fetched from the remote PE.

- **pe**

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

## RETURN VALUES

The contents at the *target* address on the remote PE. The data type of the return value is the same as the type of the remote data object.

**SEE ALSO:**

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

## COPYRIGHT

2003-2026, The Open MPI Community
