Spmd中的“Single program”方面指的是同一段代码运行在不同的多个lab上。你在一个Matlab客户端上运行一个程序,被标志为spmd模块的其他部分运行在其他lab上。当这些块运行完毕后,你的程序继续在客户端运行。 “Multiple data”方面指的是虽然spmd语句在所有的lab上运行相同的代码,但每一个lab可以有不同的,独有的数据。所以多数据集可以在多个lab上同时被容纳。一下是我总结的SPMD使用的两个场景:
The "single program" aspect of spmd means that the identical code runs on multiple labs. 就是说同一段程序应用于不同的样本(数据),所以一般针对随机抽样的并行,如
%% SPMD
%example 1
spmd
A = rand(3,2); %generate a matrix A for each lab(worker)
end
for i = 1:length(A)
figure; imagesc(A{i});
end
%example 2
a = 3;
b = 4;
spmd
c = labindex();
d = c+a;
end
c{2} = 5;
spmd
f = c*b;
end
for i = 1:length(f)
fprintf('%dt',f{i});%access the value of each lab
end
另外&#
最后
以上就是甜美金针菇最近收集整理的关于parfor. matlab,MATLAB的parfor的全部内容,更多相关parfor.内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复