glio_group(3F)

glio_group_mpi, glio_group_shmem - Defines a group of processes to be associated with a global file.

As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.19.

NAME
     glio_group_mpi, glio_group_shmem - Defines a group of processes to be
     associated with a global file.

SYNOPSIS
     C or C++:

          #include <ffio.h>
          #include <mpi.h>
          void glio_group_mpi(MPI_Comm comm)
          #include <mpp/shmem.h>
          void glio_group_shmem(int handle);

     Fortran:

          include "mpif.h"
          INTEGER comm
          CALL GLIO_GROUP_MPI(comm)
          include "mpp/shmem.fh"
          INTEGER handle
          CALL GLIO_GROUP_SHMEM(handle);

DESCRIPTION
     These subroutines identify the group of processes which will share
     access to any FFIO files opened with the global FFIO layer.  These
     files, termed global files, must be opened and closed collectively by
     all processes that share access to them.

     The following is a list of valid arguments for these routines:

     comm      An MPI communicator. The group of processes associated with
               this communicator will access the global file.  This process
               group must be executing within a single host machine.

     handle    A SHMEM process group handle returned from the
               shmem_group_create_strided() function.

     The glio_group_mpi and glio_group_shmem functions are collective
     across the set of processes identified by comm or handle.

     If glio_group_mpi or glio_group_shmem are not called prior to an open
     of a global file, all MPI or SHMEM processes in the application must
     collectively open and close the file.

EXAMPLES
     The following Fortran program opens global file globfile for access
     from SHMEM processes (PEs) 0 and 1.  PEs 2 and higher will not access
     the file.

          program global_subset
          include "mpp/shmem.fh"
          integer racom, handle
          common /racom/ racom(SHMEM_GROUP_COM_SIZE)

          call start_pes(0)
          racom = 0

     c    Define a SHMEM group and then open globfile across this group

          if (my_pe().le.1) then
            call assign("assign -F global u:20",ier)
            handle = shmem_group_create_strided(0, 1, 2, racom, shmem_null)
            call glio_group_shmem(handle)
            open (20,file="globfile",access="direct",recl=64)
          endif

          end

SEE ALSO
     shmem_group_create_strided(3)