for
- цикл в распределенной области значений
for
выполняется loopVar
= drange(range
); statements
; end;
for
- итерации цикла параллельно в распределенной области значений.
MATLAB® делит диапазон, указанный range
через рабочих в параллельном пуле, с помощью непрерывных сегментов приблизительно равной длины. MATLAB затем выполняет команды тела цикла в statements
в a for
- цикл по заданной области loopVar
на каждом рабочем.
Каждая итерация должна быть независима от других итераций, такова, что итерации могут быть выполнены в любом порядке. Никакая связь с другими рабочими не позволена в теле цикла.
Каждый рабочий может получить доступ к локальным фрагментам codistributed массивов, но не может получить доступ к фрагментам codistributed массивов, которые хранятся на других рабочих. Можно использовать loopVar
индексировать локальную часть codistributed массива при следующих условиях:
индекс цикла range
обеспечивается в форме range = 1:N
массив распределяется с помощью 1d
по умолчанию схема codistribution
массив имеет размер N
по измерению распределения
Можно использовать break
оператор, чтобы отключить выполнение цикла.