Вычислительная сетка по умолчанию для 2D циклических блоком распределенных массивов
grid = codistributor2dbc.defaultLabGrid()
grid = codistributor2dbc.defaultLabGrid()
возвращает вектор, grid = [nrow ncol]
, задавая вычислительную сетку nrow
-by-ncol
рабочие в открытом параллельном пуле, таком что numlabs
= nrow
x ncol
.
Сетка, заданная codistributor2dbc.defaultLabGrid
, максимально близко к квадрату. Следующие правила задают nrow
и ncol
:
Если numlabs
является полным квадратом, nrow = ncol = sqrt(numlabs)
.
Если numlabs
является нечетной степенью 2, то nrow = ncol/2 = sqrt(numlabs/2)
.
nrow <= ncol
.
Если numlabs
является началом, nrow = 1
, ncol = numlabs
.
nrow
является самым большим целым числом, меньше чем или равным sqrt(numlabs)
, для которого ncol = numlabs/nrow
является также целым числом.
Просмотрите вычислительное размещение сетки схемы распределения по умолчанию открытого параллельного пула.
spmd grid = codistributor2dbc.defaultLabGrid end