Ich habe Matlab R2012b für Ubuntu 64 Bits. Ich habe eine Intel Core i3 CPU M 330 @ 2.13GHz × 4.Wie parallel 4 funktioniert mit PARFOR mit einem Core i3 in Matlab
Ich möchte Parfor parallel 4 Schleifen gleichzeitig zu verwenden. Da Intel Core i3 hat zwei Cores und 4 Threads Ich benutze diesen Code:
if matlabpool('size') == 0 % checking to see if my pool is already open
matlabpool(4)
else
matlabpool close
matlabpool(4)
end
Und ich erhalten die folgende Fehlermeldung:
Fehler:
You requested a minimum of 4 workers, but the cluster "local" has the NumWorkers property set to allow a maximum of 2 workers. To run a communicating job on more workers than this (up to a maximum of 12 for the Local cluster), increase the value of the NumWorkers property for the cluster. The default value of NumWorkers for a Local cluster is the number of cores on the local machine.
Warum? Der Standardwert von NumWorkers in meiner Maschine ist 2, aber wenn ich 4 Schleifen gleichzeitig machen kann, wie bekomme ich es?
Ja, dies in der Tat richtig ist. +1 – Jonas
Zwei Fragen: warum mehr Arbeiter als Kerne Leistung verringert? Wie kann ich den Standardwert von NumWorkers für einen lokalen Cluster kennen? –
Der Standardwert ist die Anzahl der physischen Kerne (dies wird sogar in der Fehlermeldung angegeben, die Sie in Ihrer Frage angegeben haben). Mehr Arbeiter als Kerne * können Ihre Leistung verringern, da sie nicht auf physisch getrennten Kernen laufen, d. H. Sie können sich gegenseitig beeinflussen. –