我曾经spmd
同时计算两段代码。我正在使用的计算机有一个 8 核处理器。这意味着通信开销几乎为零!
我比较了这个块的运行时间和在withspmd
之外的相同代码。
当我运行代码时,我的代码的并行版本比顺序形式花费更多时间。
知道为什么会这样吗?
这是我正在谈论的示例代码:spmd
tic & toc
tic;
spmd
if labindex == 1
gamma = (alpha*beta);
end
if labindex == 2
for t = 1:T,
for i1=1:n
for j1=1:n
kesi(i1,j1,t) = (alpha(i1,t) + phi(j1,t));
end;
end;
end;
end
end
t_spmd = toc;
tic;
gamma2= (alpha * beta);
for t = 1:T,
for i1=1:n
for j1=1:n
kesi2(i1,j1,t) = (alpha(i1,t) + phi(j1,t));
end;
end;
end;
t_seq = toc;
disp('t spmd : ');disp(t_spmd);
disp('t seq : ');disp(t_seq);