Ich renne Mathematica 7, und ich versuche, eine einfache Do
Schleife parallel zu betreiben, mit ParallelDo
. Der folgende Standard, sequentieller Code funktioniert gut:Warum arbeitet diese Mathematica 7 Do-Schleife sequenziell, erzeugt aber parallel Fehler (mit Paralleldo)?
len = 10;
A = Table[0, {len}];
Do[
A[[i]] = i*10;
, {i, 1, len}]
Wenn ich jedoch ParallelDo
anstelle der Standard-Do
verwende, gibt diesen Code Fehlermeldungen:
len = 10;
A = Table[0, {len}];
ParallelDo[
A[[i]] = i*10;
, {i, 1, len}]
Die Fehlermeldungen, die wir bekommen sind:
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
General::stop: Further output of Set::noval will be suppressed during this calculation.
General::stop: Further output of Set::noval will be suppressed during this calculation.
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
Set::noval: Symbol A in part assignment does not have an immediate value.
gibt es etwas, was ich tun kann diese do Schleife parallel laufen zu lassen?
Vielen Dank!
Andrew DeYoung
Carnegie Mellon University