Отправьте данные всем рабочим или получите данные, отправленные всем рабочим
shared_data = labBroadcast(srcWkrIdx,data)
shared_data = labBroadcast(srcWkrIdx)
|
|
| Данные широковещательно передаются. Этот аргумент требуется только для рабочего, который является широковещательным. Отсутствие этого аргумента указывает, что рабочий получает. |
| Широковещательные данные, когда это получено на всех других рабочих. |
shared_data = labBroadcast(srcWkrIdx,data) отправляет заданный data всем рабочим выполнения. Данные широковещательно передаются от рабочего с labindex == srcWkrIdx, и получен всеми другими рабочими.
shared_data = labBroadcast(srcWkrIdx) получает на каждом рабочем выполнения заданный shared_data это было отправлено от рабочего чей labindex srcWkrIdx.
Если labindex не srcWkrIdx, затем вы не включаете data аргумент. Это указывает, что функция должна получить данные, не широковещательно передать их. Принятые данные, shared_data, идентично на всех рабочих.
Это выполнение функциональных блоков до участия рабочего в коллективной широковещательной операции завершено. Поскольку некоторые рабочие могут завершить свой вызов labBroadcast прежде чем другие запустили, использовать labBarrier если необходимо гарантировать, что все рабочие в той же точке в программе.
В этом случае вещательная компания является рабочим чей labindex 1.
srcWkrIdx = 1; if labindex == srcWkrIdx data = randn(10); shared_data = labBroadcast(srcWkrIdx,data); else shared_data = labBroadcast(srcWkrIdx); end