Name
HPL_infog2l global to local index translation.
Synopsis
#include "hpl.h"
void
HPL_infog2l(
int
I
,
int
J
,
const int
IMB
,
const int
MB
,
const int
INB
,
const int
NB
,
const int
RSRC
,
const int
CSRC
,
const int
MYROW
,
const int
MYCOL
,
const int
NPROW
,
const int
NPCOL
,
int *
II
,
int *
JJ
,
int *
PROW
,
int *
PCOL
);
Description
HPL_infog2l
computes the starting local index II, JJ corresponding to
the submatrix starting globally at the entry pointed by I, J. This
routine returns the coordinates in the grid of the process owning the
matrix entry of global indexes I, J, namely PROW and PCOL.
Arguments
I (global input) int
On entry, I specifies the global row index of the matrix
entry. I must be at least zero.
J (global input) int
On entry, J specifies the global column index of the matrix
entry. J must be at least zero.
IMB (global input) const int
On entry, IMB specifies the size of the first row block of
the global matrix. IMB must be at least one.
MB (global input) const int
On entry, MB specifies the blocking factor used to partition
and distribute the rows of the matrix A. MB must be larger
than one.
INB (global input) const int
On entry, INB specifies the size of the first column block of
the global matrix. INB must be at least one.
NB (global input) const int
On entry, NB specifies the blocking factor used to partition
and distribute the columns of the matrix A. NB must be larger
than one.
RSRC (global input) const int
On entry, RSRC specifies the row coordinate of the process
that possesses the row I. RSRC must be at least zero and
strictly less than NPROW.
CSRC (global input) const int
On entry, CSRC specifies the column coordinate of the process
that possesses the column J. CSRC must be at least zero and
strictly less than NPCOL.
MYROW (local input) const int
On entry, MYROW specifies my row process coordinate in the
grid. MYROW is greater than or equal to zero and less than
NPROW.
MYCOL (local input) const int
On entry, MYCOL specifies my column process coordinate in the
grid. MYCOL is greater than or equal to zero and less than
NPCOL.
NPROW (global input) const int
On entry, NPROW specifies the number of process rows in the
grid. NPROW is at least one.
NPCOL (global input) const int
On entry, NPCOL specifies the number of process columns in
the grid. NPCOL is at least one.
II (local output) int *
On exit, II specifies the local starting row index of the
submatrix. On exit, II is at least 0.
JJ (local output) int *
On exit, JJ specifies the local starting column index of the
submatrix. On exit, JJ is at least 0.
PROW (global output) int *
On exit, PROW is the row coordinate of the process owning the
entry specified by the global index I. PROW is at least zero
and less than NPROW.
PCOL (global output) int *
On exit, PCOL is the column coordinate of the process owning
the entry specified by the global index J. PCOL is at least
zero and less than NPCOL.
See Also
HPL_indxg2l,
HPL_indxg2p,
HPL_indxl2g,
HPL_numroc,
HPL_numrocI.