Learn R Programming

pbdBASE (version 0.5-3)

pcoords: Interchange Between Process Number and BLACS Coordinates

Description

Grabs the existing BLACS context grid information.

Usage

base.pnum(ICTXT, PROW, PCOL)

base.pcoord(ICTXT, PNUM)

Arguments

ICTXT

BLACS context number.

PROW, PCOL

BLACS grid location row/column

PNUM

process rank

Value

pnum returns an integer; pcoord returns a list containing elements PROW and PCOL.

Details

For advanced users only. These functions are simple recreations of the BLACS routines BLACS_PNUM and BLACS_PCOORD. The former gets the process number associated with the BLACS process grid location c(MYPROW, MYPCOL), while the latter does the reverse.

Examples

Run this code
# NOT RUN {
spmd.code <- "
  suppressMessages(library(pbdMPI))
  suppressMessages(library(pbdBASE))
  init.grid()

  ### get the ICTXT = 0 BLACS coordsinates for process 3
  myCoords <- base.pcoord(ICTXT = 0, PNUM = 3)
  comm.print(myCoords)

  ### get the ICTXT = 1 BLACS coordsinates for process 3
  myCoords <- base.pcoord(ICTXT = 1, PNUM = 3)
  comm.print(myCoords)

  ### get the ICTXT = 2 BLACS coordsinates for process 3
  myCoords <- base.pcoord(ICTXT = 2, PNUM = 3)
  comm.print(myCoords)

  finalize()
"
pbdMPI::execmpi(spmd.code = spmd.code, nranks = 4L)

# }

Run the code above in your browser using DataLab