2011-12-09 3 views
2

私はMATLABでコードを実行しています。私はParallel Computing Toolkitを使用しています。私はSPMDを利用しています。私は自分のPCに8つのコアを持っています。私は最初に1つのコアでコードを実行し、時間を見てから、2つのコアでコードを実行して時間を参照したいと思います。 マシンの一部のコアを無効にする/有効にするにはどうすればよいですか?Matlabコードパフォーマンス計算。コードパフォーマンスを評価するためにPC上で複数のコアを無効にする方法

おかげであなたが使用することができます

答えて

1

maxNumCompThreads(1)

それはdeprectaedが、罰金1私はそれまではMathWorks社のMATLAB 2011AをテストしたすべてのMATLABの作品です。

+0

MATLAB R2015aでも同様に動作します。 – Royi

3

コマンドmaxNumCompThreadsは、コマンドを実行するMATLABのコピーで使用される計算スレッドの最大数を返します。ただし、matlabpoolで作成されたMATLABワーカーは、設計によってシングルスレッド化されています。これは確認してみてください。matlabpool open 8まで

matlabpool open 1 
runmycode 
matlabpool close 
matlabpool open 2 
runmycode 
matlabpool close 
matlabpool open 3 
runmycode 

など:

matlabpool open 2 
parfor i = 1:2 
    warning('off','MATLAB:maxNumCompThreads:Deprecated') 
    maxNumCompThreads 
    warning('on','MATLAB:maxNumCompThreads:Deprecated') 
end 
ans = 
    1 
ans = 
    1 

あなたは、コア数の増加で実行している間、あなたのコードを時間を計るしたい場合は、のようなものを試してみてください。

+0

または、R2011bの場合、 'matlabpool open 12'。 –

+0

あなたはR2011bで最大12人の作業員に行くことができますが、私はOPで8コアを持っていると言いましたので、8時に停止するつもりでした。 –

関連する問題