plucky (3) shmem_init.openmpi.3.gz

Provided by: openmpi-doc_5.0.7-1_all bug

SYNOPSIS

       C or C++:

          void shmem_init(void)
          void start_pes(int npes)

       Fortran:

          CALL SHMEM_INIT()
          CALL START_PES(npes)

DESCRIPTION

       The start_pes routine should be the first statement in a SHMEM parallel program.

       The start_pes routine accepts the following argument:

       npes   Unused. Should be set to 0.

       This  routine  initializes  the  SHMEM  API,  therefore  it must be called before calling any other SHMEM
       routine. This routine is responsible inter alia for setting up the symmetric heap on the calling PE,  and
       the  creation of the virtual PE numbers. Upon successful return from this routine, the calling PE will be
       able to communicate with and transfer data to other PEs.

       Multiple calls to this function are not allowed.

       For  an  overview  of  programming  with  SHMEM  communication  routines,  example  SHMEM  programs,  and
       instructions for compiling SHMEM programs, see the intro_shmem(3) man page.

EXAMPLES

       This is a simple program that calls shmem_integer_put(3):

          PROGRAM PUT
            INCLUDE "mpp/shmem.fh"

            INTEGER TARG, SRC, RECEIVER, BAR
            COMMON /T/ TARG
            PARAMETER (RECEIVER=1)

            CALL SHMEM_INIT()
            IF (MY_PE() .EQ. 0) THEN
              SRC = 33
              CALL SHMEM_INTEGER_PUT(TARG, SRC, 1, RECEIVER)
            ENDIF
            CALL SHMEM_BARRIER_ALL ! SYNCHRONIZES SENDER AND RECEIVER
            IF (MY_PE() .EQ. RECEIVER) THEN
              PRINT *,'PE ', MY_PE(),' TARG=',TARG,' (expect 33)'
            ENDIF
          END

NOTES

       If  the  start_pes  call  is  not  the first statement in a program, unexpected results may occur on some
       architectures.

       SEE ALSO:
          intro_shmem(3) shmem_barrier(3) shmem_barrier_all(3) shmem_put(3) my_pe(3) shmem_n_pes(3)

       2003-2025, The Open MPI Community

                                                  Feb 17, 2025                                     SHMEM_INIT(3)