Параллельный цикл for
parfor loopvar = initval:endval;
statements
;
end
parfor (loopvar = initval:endval, M); statements
;
end
parfor loopvar = initval:endval;
выполняет серию операторов MATLAB® для значений statements
;
endloopvar
между initval
и endval
, включительно, которые задают вектор увеличения целочисленных значений. Цикл запускается параллельно, когда у вас есть Parallel Computing Toolbox™ или когда вы создаете MEX-функцию или автономный код с MATLAB Coder™. В отличие от традиционного for
- цикл, итерации не выполняются в гарантируемом порядке. Вы не можете вызвать скрипты непосредственно в parfor - цикле.
Однако можно вызвать функцию, которая вызывает скрипты.
parfor (loopvar = initval:endval, M);
выполняет операторы в цикле с помощью максимума рабочих statements
;
endM
или потоков, где M
является неотрицательным целым числом.
Выполните три больших вычисления собственного значения с помощью трех рабочих или ядер с программным обеспечением Parallel Computing Toolbox:
parpool(3) parfor i=1:3, c(:,i) = eig(rand(1000)); end
Если у вас есть программное обеспечение Parallel Computing Toolbox, смотрите страницы ссылки на функцию для parfor
и parpool
для получения дополнительной информации.
Если у вас есть программное обеспечение MATLAB Coder, смотрите страницу ссылки на функцию parfor
для получения дополнительной информации.