1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
.. _shmem_barrier_all:
shmem_barrier_all
=================
.. include_body
:ref:`shmem_barrier_all` - Suspends the execution of the calling PE until all
other PEs issue a call to this particular shmem_barrier_all() statement.
SYNOPSIS
--------
C or C++:
.. code-block:: c++
#include <mpp/shmem.h>
void shmem_barrier_all(void)
Fortran:
.. code-block:: fortran
include 'mpp/shmem.h'
CALL SHMEM_BARRIER_ALL
DESCRIPTION
-----------
The :ref:`shmem_barrier_all` routine does not return until all other PEs have
entered this routine at the same point of the execution path.
Prior to synchronizing with other PEs, :ref:`shmem_barrier_all` ensures
completion of all previously issued local memory stores and remote
memory updates issued via SHMEM functions such as :ref:`shmem_put32`\ (3).
EXAMPLES
--------
::
setup_data()
{
if (shmem_my_pe() == 0) {
setup();
}
/* All PEs wait for PE 0 to complete setup(). */
shmem_barrier_all();
}
.. seealso::
*shmem_barrier*\ (3) *shmem_init*\ (3)
|