Вычислительная сетка по умолчанию для 2-D блок-циклических распределенных массивов
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