Команда matlabpool
запускает параллельное задание в локальном планировщике, чтобы дать вам рабочих, на которых можно запускать тело ваших parfor
циклов и spmd
блоков. Это означает, что, хотя matlabpool
открыто, количество рабочих мест, доступных локальному планировщику, уменьшается. Затем, когда вы пытаетесь запустить задание batch
, оно может выполняться только при наличии свободных работников.
Вы можете узнать, сколько запущенных заданий у вас есть в локальном планировщике, используя «монитор заданий» из пункта меню «Параллельно» на рабочем столе (ваш сеанс matlabpool
будет отображаться там как задание в состоянии running
с 12 задачами), или выполнив следующий фрагмент кода:
s = findResource( 'scheduler', 'Type', 'local' );
[pending, queued, running, finished] = findJob(s);
running