1

我正在使用 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

我想学习并行计算工具箱。

4

1 回答 1

1

正如 Dan 在评论中提到的,问题显然太小,并行化无法带来好处。例如,将magic您创建的矩阵的大小从 5 增加到 5000,已经显示出明显的改进。也就是说,与一个矩阵的计算时间相比,随着大小的增加,并行化的开销变得(几乎)可以忽略不计。

于 2013-04-24T08:20:07.417 回答