matlabにて並列計算を行いたいと考えています.
しかし,自分の環境で並列計算を行うと,大きい方から小さい方へ逐次的に実行されているだけのため,全く並列化されていない状況下にあります.
そのため,並列化を行うための改善方法を教えていただきたいです.
MATLAB R2018a academicのものを使用しています.
例を示します.
MATLAB
1clear A 2d = 0; i = 0; 3parfor i = 1:3 4 d = i*2; 5 A(i) = d; 6 for j=5:8 7 fprintf('i=%g,j=%g\n',i,j); 8 end 9end
これを実行すると,私の予測では実験毎にprintされる順番が変化すると思うのですが,
毎回結果が
result
1i=3,j=5 2i=3,j=6 3i=3,j=7 4i=3,j=8 5i=2,j=5 6i=2,j=6 7i=2,j=7 8i=2,j=8 9i=1,j=5 10i=1,j=6 11i=1,j=7 12i=1,j=8
となるため,並列化できていないと考えられます.さらに,iごとに綺麗に整頓されてしまっている状況です.
私の理想としては i がここまで順番にならず,入り乱れることになれば並列化できていると考えています.
ご教授していただけると幸いです.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。