私はMathematica 7を実行していて、ParallelDo
を使用して単純なDo
ループを並列実行しようとしています。次の標準は、シーケンシャルコードは正常に動作します:私はあり得るMathematica 7 Doループはなぜ連続して動作するのですか(ParallelDoを使用して)並列でエラーを生成しますか?
len = 10;
A = Table[0, {len}];
ParallelDo[
A[[i]] = i*10;
, {i, 1, len}]
エラーメッセージ:
len = 10;
A = Table[0, {len}];
Do[
A[[i]] = i*10;
, {i, 1, len}]
をしかし、私が代わりに標準Do
のParallelDo
使用している場合、このコードは、エラーメッセージを与えます
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.
私は並行して、この行いループを実行するために何かできることはありますか?
ありがとうございました!
アンドリュー・デヤング
カーネギーメロン大学