HPL_grid_init(3)

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 (3), HPL_grid_info (3), HPL_grid_exit (3).