Ubuntu 64 ビット用の Matlab R2012b があります。Intel Core i3 CPU M 330 @ 2.13GHz × 4 を持っています。
parforを使用して 4 つのループを同時に並列化したい。Intel Core i3 には 2 つのコアと 4 つのスレッドがあるため、次のコードを使用します。
if matlabpool('size') == 0 % checking to see if my pool is already open
matlabpool(4)
else
matlabpool close
matlabpool(4)
end
そして、次のエラーが表示されます。
エラー:
最小で 4 つのワーカーを要求しましたが、クラスター "ローカル" には、最大 2 つのワーカーを許可するように NumWorkers プロパティが設定されています。これより多くのワーカー (ローカル クラスターの場合は最大 12) で通信ジョブを実行するには、クラスターの NumWorkers プロパティの値を増やします。ローカル クラスターの NumWorkers の既定値は、ローカル マシンのコア数です。
なんで?私のマシンの NumWorkers のデフォルト値は 2 ですが、同時に 4 つのループを実行できる場合、どうすれば取得できますか?