Распределенная операция двоеточия
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 в четыре подвектора среди четырех рабочих.
spmd(4); C = codistributed.colon(1,10), end
Lab 1:
This worker stores C(1:3).
LocalPart: [1 2 3]
Codistributor: [1x1 codistributor1d]
Lab 2:
This worker stores C(4:6).
LocalPart: [4 5 6]
Codistributor: [1x1 codistributor1d]
Lab 3:
This worker stores C(7:8).
LocalPart: [7 8]
Codistributor: [1x1 codistributor1d]
Lab 4:
This worker stores C(9:10).
LocalPart: [9 10]
Codistributor: [1x1 codistributor1d]