SHMEM\_FINALIZE(3) Open MPI 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](#SYNOPSIS)

C or C++:

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

Fortran:

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

# [DESCRIPTION](#DESCRIPTION)

shmem\_finalize is a collective operation that ends the OpenSHMEM portion of a program previously initialized by shmem\_init &lt;#shmem-init&gt; 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 &lt;#shmem-init&gt;. 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)](/man/enterprise-packages/openmpi-cuda-13.4/intro_shmem.3) [*shmem\_my\_pe*(3)](/man/enterprise-packages/openmpi-cuda-13.4/shmem_my_pe.3) [*shmem\_init*(3)](/man/enterprise-packages/openmpi-cuda-13.4/shmem_init.3)

# [Copyright](#Copyright)

2003-2026, The Open MPI Community

September 17, 2026

---

Document: shmem_finalize(3) from openmpi-cuda-13.4 5.0.11-r0 (Chainguard OS)
