Операция распределенного двоеточия
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 смежные подвекторы равной, или почти равной длины и создает массив с кодовым распределением, локальный фрагмент которого на каждом рабочем месте является labindex-й подвектор.
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]