Storage and methods for MPI grid data.

Details

Data is held in an external pointer.

Methods

Public methods


Method new()

Usage

gridR6$new(gridtype = PROC_GRID_SQUARE)

Arguments

gridtype

Type of processor grid: PROC_GRID_SQUARE, PROC_GRID_WIDE, or PROC_GRID_TALL.

Details

Class initializer.


Method set()

Usage

gridR6$set(blacs_context)

Arguments

blacs_context

The BLACS integer context number.

Details

Set grid to another BLACS context.


Method exit()

Usage

gridR6$exit()

Details

Exits the BLACS grid, but does not shutdown BLACS/MPI.


Method finalize()

Usage

gridR6$finalize(mpi_continue = FALSE)

Arguments

mpi_continue

Should MPI continue, i.e., not be shut down too?

Details

Shuts down BLACS, and optionally MPI.


Method info()

Usage

gridR6$info()

Details

Print one-line information about the object.


Method print()

Usage

gridR6$print()

Details

Print one-line information about the object.


Method rank0()

Usage

gridR6$rank0()

Details

Is the calling process rank 0, i.e. row 0 and col 0?


Method ingrid()

Usage

gridR6$ingrid()

Details

Is the calling process in the grid, i.e. row and col not -1?


Method barrier()

Usage

gridR6$barrier(scope = "A")

Arguments

scope

'A' for all, 'R' for row, or 'C' for column.

Details

Execute a barrier.


Method ictxt()

Usage

gridR6$ictxt()

Details

The BLACS integer context.


Method nprocs()

Usage

gridR6$nprocs()

Details

The BLACS integer context.


Method nprow()

Usage

gridR6$nprow()

Details

The BLACS integer context.


Method npcol()

Usage

gridR6$npcol()

Details

The BLACS integer context.


Method myrow()

Usage

gridR6$myrow()

Details

The BLACS integer context.


Method mycol()

Usage

gridR6$mycol()

Details

The BLACS integer context.


Method valid_grid()

Usage

gridR6$valid_grid()

Details

Returns whether or not the grid object is valid.


Method data_ptr()

Usage

gridR6$data_ptr()

Details

Returns the external pointer data. For developers only.


Method clone()

The objects of this class are cloneable with this method.

Usage

gridR6$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.