fminbnd in parallel: no gain
조회 수: 3 (최근 30일)
이전 댓글 표시
I want to minimize a function using fminbnd on a 32-core Linux machine (running Ubuntu 13.10+matlab2013a). I do the following:
>>matlabpool
Starting matlabpool using the 'local' profile ...
connected to 12 workers
>>optim_fminbnd=optimset('fminbnd');
>>tic
>>disp('With parallelization:')
With parallelization:
>> fminbnd(@localstrul_valuespectral,0,359,optimset(optim_fminbnd,'UseParallel','a
lways'))
ans =
221.8743
>>toc
Elapsed time is 7.124580 seconds.
>>tic
>>disp('Without parallelization:')
Without parallelization:
>>fminbnd(@localstrul_valuespectral,0,359,optimset(optim_fminbnd,'UseParallel','ne
ver'))
ans =
221.8743
>>toc
Elapsed time is 7.785863 seconds
that is to say there is no gain in speed (sometimes the non-parallel version is marginally faster). Do I set the parameters wrong?
댓글 수: 0
채택된 답변
Alan Weiss
2014년 1월 24일
fminbnd is a serial algorithm. There is no gain possible using parallel processing. In fact, look at the options for fminbnd, and you see that fminbnd does not use the UseParallel option.
Alan Weiss
MATLAB mathematical toolbox documentation
댓글 수: 1
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!