Команда maxNumCompThreads
возвращает максимальное количество вычислительных потоков, которое может использовать копия MATLAB, выполняющая команду. Тем не менее, рабочие MATLAB, созданные matlabpool
, являются однопоточными. Попробуйте это подтвердить:
matlabpool open 2
parfor i = 1:2
warning('off','MATLAB:maxNumCompThreads:Deprecated')
maxNumCompThreads
warning('on','MATLAB:maxNumCompThreads:Deprecated')
end
ans =
1
ans =
1
Если вы хотите рассчитать время выполнения кода на все большем количестве ядер, попробуйте что-то вроде:
matlabpool open 1
runmycode
matlabpool close
matlabpool open 2
runmycode
matlabpool close
matlabpool open 3
runmycode
и т.д.. до matlabpool open 8
.