Отправьте данные всем рабочим или получите данные, отправленные всем рабочим
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