3

parfor現在、ループを使用して退屈な計算を高速化するコードを MATLAB で作成しています。

私の問題は、コードがリモート クラスターで実行され、4 コア、8 コア、または 12 コアのマシンで実行できることです (事前にどれかはわかりません)...

基本的に、MATLAB が matlabpool で使用できるコアの最大数を決定できるようにするコード スニペットが必要です。この変数を呼び出すとmaxcores、先に進んで使用できます

matlabpool('open',maxcores).

利用可能なすべてのコアを確実に使用できるようにします。

4

2 に答える 2

9

ドキュメントには記載されていませんfeature('numCores')が、壊れる可能性は低いようです。(ソース

R2007a以降も機能すると誰かが主張してgetNumberOfComputationalThreadsいますが、私のR2012aで​​は機能しません。

于 2012-11-04T03:37:18.673 に答える
2

getenv('NUMBER_OF_PROCESSORS')Dougal の応答を超えて、Windows システムのスレッド数が返されることがわかりました。

于 2013-09-02T16:04:55.967 に答える