2011-12-09 68 views

回答

1

您可以使用:

maxNumCompThreads(1)

它deprectaed,但工作得很好我一個測試,直到MATLAB 2011A所有MATLAB。

+0

也適用於MATLAB R2015a。 – Royi

3

命令maxNumCompThreads返回執行命令的MATLAB副本可能使用的最大計算線程數。但是,由matlabpool創建的MATLAB工作人員是按設計單線程的。試試這個確認:

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

+0

或者,在R2011b中,「matlabpool open 12」。 –

+0

儘管R2011b可以使用12名工人,但我的意思是停在8位,因爲OP提到他擁有8個內核,可能會有比核心更多的員工,但不同尋常。 –