Операция распределенного двоеточия
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]