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.
SEEALSO:intro_shmem(3) shmem_my_pe(3) shmem_init(3)