簡體   English   中英

與使用MATLAB中的並行計算工具箱的順序代碼相比,並行代碼花費的時間更長。 為什么?

[英]Parallel code is taking longer time than sequential code using Parallel computing toolbox in MATLAB. Why?

我正在使用MATLAB。 我只是MATLAB中並行計算工具箱的新手。 我有核心i3處理器,MATLAB R2011a,2 GB RAM,320硬盤。

為了提高速度,我只是編寫了以下代碼,發現並行代碼比順序代碼花費的時間更長。

第一個代碼花費0.039763秒

第二個代碼需要0.379056秒


第一個代碼:

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

第二個代碼:

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

我想學習並行計算工具箱。

正如Dan在評論中所提到的,對於並行化來說,問題顯然太小而無益。 例如,將您創建的magic矩陣的大小從5增加到5000,已經顯示出明顯的改進。 也就是說,與一個矩陣的計算時間相比,具有更大的尺寸,並行化的開銷幾乎(幾乎)可以忽略不計。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM