Распределенная операция двоеточия
codistributed.colon(a,d,b)
codistributed.colon(a,b)
codistributed.colon(___,codist)
codistributed.colon(___,'noCommunication')
codistributed.colon(___,codist,'noCommunication')
codistributed.colon(a,d,b)
делит векторный a:d:b
в numlabs
непрерывные подвекторы равной, или почти равной длины, и создают codistributed массив, локальный фрагмент которого на каждом рабочем labindex
- подвектор th.
codistributed.colon(a,b)
использование d = 1
.
Дополнительные аргументы к codistributed.colon
должен быть задан после обязательных аргументов, и в следующем порядке:
codistributed.colon(___,codist)
использует codistributor объект codist
задавать схему распределения итогового вектора. Если не использовано, результат распределяется с помощью схемы распределения по умолчанию. Для получения информации о построении codistributor объекты, смотрите страницы с описанием для codistributor1d
и codistributor2dbc
.
codistributed.colon(___,'noCommunication')
или codistributed.colon(___,codist,'noCommunication')
указывает, что никакая коммуникация не должна быть выполнена при построении вектора, пропуске некоторых шагов проверки ошибок.
Разделите векторный 1:10
в четыре подвектора среди четырех рабочих.
parpool('local',4); spmd(4) C = codistributed.colon(1,10) end
Worker 1: This worker stores C(1:3). LocalPart: [1 2 3] Codistributor: [1x1 codistributor1d] Worker 2: This worker stores C(4:6). LocalPart: [4 5 6] Codistributor: [1x1 codistributor1d] Worker 3: This worker stores C(7:8). LocalPart: [7 8] Codistributor: [1x1 codistributor1d] Worker 4: This worker stores C(9:10). LocalPart: [9 10] Codistributor: [1x1 codistributor1d]