問題タブ [parallel-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
118 参照

python-2.7 - スレッドで作成された ParallelPython は

ジョブ サーバーを作成すると、次のエラーが表示されます。

並列pythonバージョン1.6.5およびPython27を使用して、スレッド(win32)で作成された場合。

トレースバックは次のとおりです。

以下のリンクと同様の問題:

ParallelPython フォーラムの質問

0 投票する
1 に答える
155 参照

python - 並列pythonをdjangoに組み込む方法

pp (Parallel Python) を django に組み込む方法はないかと考えていました。複数のコンピューターがあり、それらを使用して要求をより適切に処理したいので、これは素晴らしいことです。

0 投票する
1 に答える
429 参照

python - 並列 Python ですべてのコンピューターが表示されない

Windows 10 で Python 3.5 で Parallel Python を使用しようとしています。

Python とすべての必要なパッケージを各コンピューター (ノード) にインストールし、各ノードでバッチ スクリプトを実行して、ルート コンピューターから見えるようにしました。

インターネットで見つけて編集した簡単な例を実行して問題を説明し、各ノードを見つける必要がありますが、選択された少数しか見つかりません。欠落しているのは常に同じノードです。

すべてのコンピューターは Windows 10 を実行しており、同じバージョンの Python と使用されているパッケージがあります。バッチ スクリプトが実行されています。コンピューターはすべて同じネットワーク上にあります。すべてのノードが表示されない場合、どのような理由が考えられますか?

ありがとう

0 投票する
0 に答える
124 参照

python - 反復ごとに for ループの並列ジョブが遅くなる

コンテキスト: ある期間中のいくつかのポイントで橋の状態 (損傷または損傷なし) をチェックすることにより、損傷した橋の長期的な修復をシミュレートしようとしています。repair_over_horizonそうするために、 (とりわけ) 損傷した橋のリストを取得し、リストのリストを出力するという Python 関数を作成しました。各リストには、特定のタイムステップでまだ損傷している橋が含まれています。たとえば、入力リストが次の場合:

[100、423、667、904、221、56、495、70、109、65]

3 つのタイムステップで使用repair_over_horizonした場合、出力は次のようになると予想されます。

[[100, 423, 667, 904, 221, 56, 495, 70, 109, 65], [100, 423, 904, 56, 70, 109, 65], [423, 904]].

この関数repair_over_horizonは、実際には一度に複数の入力リストまたは「マップ」を受け取り、それらの修復を並行して計算します。以下のコードに示すように、並列化はタイムステップごとに実装されます。内部で呼び出される関数、repair_over_horizonつまりcompute_repairs_at_timestepandrepairも参照用に含めました。

問題: 関数は出力に関しては期待どおりに機能しますが、各反復 (タイムステップ) で修復にかなりの時間がかかります。この時間の増加は、タイムステップあたりのマップ数が増えると明らかになります。たとえば、タイムステップあたり 50 個のマップと 10 タイムステップがある状況では、最初の反復に ~6 秒かかり、最後の反復に ~21 秒かかります。タイムステップごとに 500 のマップと 5 つのタイムステップがある場合、最初の反復には ~36 秒かかり、5 回目の反復には ~110 秒かかります。

トラブルシューティング: コードをプロファイリングし (タイムステップごとに 500 マップと以下の 5 タイムステップの結果を参照)、メモリ使用量を確認しましたが、結果からは実装に問題があることがわかりません。

質問: イテレーション間およびマップ数の増加に伴い、この大幅な速度低下の原因は何ですか? それを修正する方法についてのアイデアは大歓迎です。

更新: メモリの問題があるかどうかをテストするために、関数の末尾に向かうさまざまなポイントに gc.collect() を挿入しました。ただし、上記の問題セクションで説明したように、反復ごとに修復に時間がかかることがわかりました。

部分プロファイリング結果:

repair_over_horizon

compute_repairs_at_timestep

repair