最近在学习MATLAB并行计算,发现关于这方面的博客比较少,要么就时间比较久远,matlab版本更新了,原来的代码函数无效。要么就写的比较简单,只解释了并行两个字的大体意思。所以就决定自己在学习的时候,分享一些学习资料。
与普通并行计算数据类型(同体变量、异体变量和独有变量)相比,分布式阵列与申行程序 中的 Matlab阵列差异最大。因此,分布式Matlab阵列的创建和使用比较复杂。鉴于分布式阵列在 Matlab并行程序设计中拥有的重要作用,有必要对其进行详细说明。
分布式阵列的特点
分布式阵列拥有统一的变量名,但变量的数据内容分布在各工作单元worker上。
通过分布式阵列可以达到两个目的:
一是可以将数据分布存储到各工作单元中,降低对单个工作单元硬件配置的要求;
二是通过分布式阵列简化 Matlab客户端、各工作单元之间的数据传输方式。
Matlab如何分割分布式阵列?
parpool();
spmd
A=rand(100,300);
%默认情况下,按列分割
B=codistributed(A);
B
end
%通过创建 codis