codistributor2dbc.defaultLabGrid

Default computational grid for 2-D block-cyclic distributed arrays

Syntax

grid = codistributor2dbc.defaultLabGrid()

Description

grid = codistributor2dbc.defaultLabGrid() returns a vector, grid = [nrow ncol], defining a computational grid of nrow-by-ncol workers in the open parallel pool, such that numlabs = nrow x ncol.

The grid defined by codistributor2dbc.defaultLabGrid is as close to a square as possible. The following rules define nrow and ncol:

  • If numlabs is a perfect square, nrow = ncol = sqrt(numlabs).

  • If numlabs is an odd power of 2, then nrow = ncol/2 = sqrt(numlabs/2).

  • nrow <= ncol.

  • If numlabs is a prime, nrow = 1, ncol = numlabs.

  • nrow is the greatest integer less than or equal to sqrt(numlabs) for which ncol = numlabs/nrow is also an integer.

Examples

View the computational grid layout of the default distribution scheme for the open parallel pool.

spmd
    grid = codistributor2dbc.defaultLabGrid
end
Was this topic helpful?