1

私はMATLABで作業しています。私は MATLAB の並列計算ツールボックスを初めて使用しました。コア i3 プロセッサ、MATLAB R2011a、2 GB の RAM、320 ハードディスクを使用しています。

高速化を計算するために、次のコードを書いたところ、並列コードは逐次コードよりも時間がかかることがわかりました。

最初のコードに 0.039763 秒かかっています

2 番目のコードは 0.379056 秒かかります。


最初のコード:

tic
MM = magic(5);
MN = magic(5);
ML = magic(5);
MP = magic(5);
MK = magic(5);
MM
MN
ML
MP
MK
toc

2 番目のコード:

matlabpool open local 4

tic
spmd  % Uses all 3 workers
    MM = magic(5); % MM is a variable on each lab
end
MM{1}
MM{2}
MM{3}
MM{4}
toc
matlabpool close

並列計算ツールボックスを学びたいです。

4

1 に答える 1

1

コメントでダンが述べたように、問題は明らかに小さすぎて、並列化が有益ではありません。たとえば、magic作成する行列のサイズを 5 から 5000 に増やすと、すでに明らかな改善が見られます。つまり、サイズが大きくなると、1 つの行列の計算時間と比較して、並列化のオーバーヘッドが (ほとんど) 無視できるようになります。

于 2013-04-24T08:20:07.417 に答える