問題タブ [spmd]

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 に答える
217 参照

matlab - MatLab 並列計算ツールボックス: 同じタスクにより多くのコアを使用する

私は 4 つの物理コアを備えたラップトップと、MatLab 並列計算ツールボックスを持っています。私は2つの独立したタスクを実行する必要があります(非常に高価です。たとえば、密で大規模な行列の最大の固有値を計算するとしましょう)。

したがって、次の方法でタスクをコアに分散したいと考えています。

  • 最初のタスクで 2 コア
  • 2 番目のタスクで 2 コア

しかし、これをMatLabコードで設定する方法を本当に理解/見つけることができません。

よく検索した結果、 を使用する必要があることがわかりましたが、同じタスクに 2 つのコアspmdを使用できる適切な例がドキュメントに見つかりません。

MatLab での最小限の作業例は本当にありがたいです!

ダニエルのコメントの後の編集: 4 つのワーカーの並列プールを作成した後、次のことができます。

編集(2)

を設定できるNumThreads=2ので、各ワーカーは 2 つのタスクを実行します (右?)。問題は、各ワーカーが 2 つのスレッドを実行するように、 4 つのワーカーを持つパープールを作成する必要があるかどうかです。より明示的に:

parpool(4); %set NumThreads = 2 via Parallel computing toolbox %define matrix A1, A2 of size 1000x1000 parfor i=1:2 x(i) = max(abs(eigs(A(i)))); end

x(1)最初の 2 つのコアが で動作し、残りの 2つのコアが で動作するようにしたいと思います。x(2)


最終編集:

コメントに書かれているようにa を使用するparforと、次のようになります。

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

matlab - matlabのspmdを使用して単純な三重積分を計算すると、間違った解決策が得られます.私が間違っていることについて何か考えはありますか?

matlabのspmdを使用して単純な三重積分を計算すると、間違った解決策が得られます.私が間違っていることについて何か考えはありますか?

q が正解です。