問題タブ [parfor]

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 投票する
1 に答える
315 参照

matlab - ネストされた for ループ matlab または parfor ループ

ネストされたfor ループですが、処理が少し遅くなります。ネストされたループを効率的にするにはどうすればよいですか。私が必要とするのは、外側のループのすべての値に対して、内側のループがすべての反復を継続することです。ただし、 2 つのネストされたループほど計算に影響するとは思いません。私の 2 番目の質問は、parforループが速度に影響を与える可能性があるか、それとも私の現象をサポートする可能性があるかということです。

私のコード:

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

arrays - eval のために eval を避ける Matlab

I'm currently evaluating my arrays as eval(['P' num2str(jj) '(i,:)']) where P1 P2 are my arrays, and I'm only interested all both my arrays from (i,1:3) and where i is used to rows and jj for evaluating 1 2 arrays. I want to avoid eval() as I want to use PCT for parallel processing of both arrays, as parfor loop doesn't support eval() and also Matlab also suggests that avoid it wherever U can, Now what are the possible solutions/suggestions according to my scenario.

My Code:

0 投票する
2 に答える
1078 参照

matlab - ネストされたループを「parfor」する方法は?

元のコードは次のようになります。

そして、私はそれを次のような並列コードに適応させようとしました:

parforH{i,j} のために実行できないというエラーが生成されます。

では、ここでのエラーは何ですか?また、ネストされたループを parfor に適応させるにはどうすればよいでしょうか?

1つの可能な解決策

しかし、別のループ内で parfor を使用するとオーバーヘッドが増加し、parforその結果として計算時間が増えるとは思えません。

0 投票する
2 に答える
447 参照

matlab - MATLAB での parfor による並列化

MATLAB でループを並列化しようとすると、「'X_train' の有効なインデックスは PARFOR ループで制限されています」というエラーが表示されます。私のコードは以下の通りです:

X_train は n 行 p 列の行列で、Xmj は 1 行 p 列のベクトルです。エラーは X_train のものです。ドキュメントを読むと、すべての変数のインデックス付けを parfor ループ内で修正する必要があることがわかります。ただし、行をコメントアウトしてもX_train(bin_n, p) = X_train(bin_n, p) + 1;(X_train のインデックスが他の 2 行とは異なります)、それでもエラーが発生します。誰かが理由とそれを回避する方法を説明してもらえますか?

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

matlab - HPC クラスターで Matlab バッチ ジョブを実行する

Matlab に多数のスクリプトを個別のバッチ ジョブとして実行させようとしています。各スクリプトは、Excel シートからいくつかのデータを読み込み、ニューラル ネットワークを実装します。ニューラル ネットワークは、パラメーター調整のために parfor ループを内部で使用します。

ローカル マシンでバッチ ジョブを実行すると、正常に動作します。私のMatlabコードは次のようになります

そして、私が得る日記の出力は

ただし、「ローカル」構成からサーバー構成に変更すると、

問題はワーカー上の関数/データの可視性に関係していると想定していますが、バッチ関数内で考えられる「FileDependencies」オプションと「PathDependencies」オプションのすべての組み合わせを試しましたが、役に立ちませんでした。

どんな助けでも大歓迎です。私がそれに気付かずに途方もなく愚かなことをした場合は、事前に謝罪してください!

編集-

エラー スタックは次のとおりです。

ファイル「Historical1Step」は、実行しようとしているスクリプトです。最初の行 (コードが落ちるまで) は次のとおりです。

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

performance - Matlab でのループとバッチ処理のための parfor ループ

Matlabで並列計算ツールボックスを使用したいのですが、これについての知識を得るために多くのことを検索しました。parforforループの比較に関する一般的なクエリを見ました。parformatlabpool/parpool

ここで最終的なコードをまとめましたが、それでも遅すぎて、その理由がわかりませんでした。Mathsworkがこの問題を十分に文書化していないのは奇妙です。特にPCTを開始するための提案、parforおよび条件Batch Processingを開始および停止することによる提案、pool操作に関する十分な労働者の数

私のコード:

編集1:

ネストされたループの線形化も確認しましたが、チェックしましたが、通常のforループと比較して遅いです

編集2:

並行して実行したい私のコード。