---
name: "shmem_finalize"
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_finalize"
---

# shmem\_finalize(3)

*shmem\_finalize* - A collective operation that releases resources used by the OpenSHMEM library. This only terminates the Open-SHMEM portion of a program, not the entire program.

## SYNOPSIS

C or C++:

```
#include <mpp/shmem.h>
void shmem_finalize(void)
```

Fortran:

```
include 'mpp/shmem.fh'
CALL SHMEM_FINALIZE
```

## DESCRIPTION

*shmem\_finalize* is a collective operation that ends the OpenSHMEM portion of a program previously initialized by *shmem\_init* and releases resources used by the OpenSHMEM library. This collective operation requires all PEs to participate in the call. There is an implicit global barrier in *shmem\_finalize* so that pending communication is completed, and no resources can be released until all PEs have entered *shmem\_finalize*. *shmem\_finalize* must be the last OpenSHMEM library call encountered in the OpenSHMEM portion of a program. A call to *shmem\_finalize* will release any resources initialized by a corresponding call to *shmem\_init*. All processes and threads that represent the PEs will still exist after the call to *shmem\_finalize* returns, but they will no longer have access to any resources that have been released.

**SEE ALSO:**

[*intro\_shmem*(3)](/intro_shmem/3.md) [*shmem\_my\_pe*(3)](/shmem_my_pe/3.md) [*shmem\_init*(3)](/shmem_init/3.md)

## COPYRIGHT

2003-2026, The Open MPI Community
