Name

HPL_grid_init Create a process grid.

Synopsis

#include <hpl.h>

int HPL_grid_init( MPI_Comm COMM, const HPL_T_ORDER ORDER, const int NPROW, const int NPCOL, HPL_T_grid * GRID );

Description

HPL_grid_init creates a NPROW x NPCOL process grid using column- or row-major ordering from an initial collection of processes identified by an MPI communicator. Successful completion is indicated by the returned error code MPI_SUCCESS. Other error codes depend on the MPI implementation. The coordinates of processes that are not part of the grid are set to values outside of [0..NPROW) x [0..NPCOL).

Arguments

COMM    (global/local input)          MPI_Comm
        On entry,  COMM  is  the  MPI  communicator  identifying  the
        initial  collection  of  processes out of which  the  grid is
        formed.
ORDER   (global input)                const HPL_T_ORDER
        On entry, ORDER specifies how the processes should be ordered
        in the grid as follows:
           ORDER = HPL_ROW_MAJOR    row-major    ordering;
           ORDER = HPL_COLUMN_MAJOR column-major ordering;
NPROW   (global input)                const int
        On entry,  NPROW  specifies the number of process rows in the
        grid to be created. NPROW must be at least one.
NPCOL   (global input)                const int
        On entry,  NPCOL  specifies  the number of process columns in
        the grid to be created. NPCOL must be at least one.
GRID    (local input/output)          HPL_T_grid *
        On entry,  GRID  points  to the data structure containing the
        process grid information to be initialized.

See Also

HPL_pnum, HPL_grid_info, HPL_grid_exit