код, с которым я имею дело, имеет циклы, подобные следующему:
bistar = zeros(numdims,numcases);
parfor hh=1:nt
bistar = bistar + A(:,:,hh)*data(:,:,hh+1)' ;
end
для маленьких nt (10).
После синхронизации, это на самом деле 100 раз медленнее , чем при использовании обычного цикла !!! Я знаю, что parfor может делать параллельные суммы, поэтому я не уверен, почему это не работает.
Я бегу
matlabpool
с готовыми конфигурациями перед запуском моего кода.
Я относительно новичок в Matlab и только начал использовать параллельные функции, поэтому, пожалуйста, не думайте, что я не делаю глупостей.
Спасибо!
PS: я запускаю код на четырехъядерном ядре, поэтому я ожидаю увидеть некоторые улучшения.