如果你的数据是目前在本地计算机的内存,你可以使用分散式
函数从客户工作区现有阵列分配到平行池的工人。分散式
阵列使用的多个工人的组合的存储器以平行池存储一个数组元素。对于数据分区的替代方法,请参阅分布阵列。您可以使用分散式
阵列扩展你的大数据计算。考虑分散式
阵列时,您可以访问到群集,你可以在你的集群相结合的多台计算机的内存。
一个分散式
阵列是一个变量,多工人劈了过来在你的并行池。你可以用这个变量作为一个单一实体工作,而不必担心它的分布式特性。浏览可用的功能分散式
阵列在并行计算工具箱™:分布式阵列使用MATLAB功能。
当你创建一个分散式
数组,你无法控制分布的细节。另一方面,codistributed
阵列允许您控制分布的各个方面,包括尺寸和分区。在下文中,您将学习如何创建这两个分散式
和codistributed
阵列。
您可以创建不同的方式分布阵列:
使用分散式
函数从客户工作区现有阵列分配到平行池的工人。
您可以直接在建造工人分布阵列。你并不需要先在客户端阵列,使客户工作区的内存需求减少。提供的功能包括:
,眼
(___,'分散式')
等有关完整列表,请参阅兰特
(___,'分散式')分散式
对象引用页面。
创建一个codistributed
阵列内的SPMD
声明,请参阅单程序多数据(SPMD)。然后访问它作为一个分散式
阵列外部的SPMD
声明。这允许您使用的不是缺省分配方案。
在本例中,将创建的客户工作区的阵列,然后把它变成一个分布阵列:
parpool('本地',4)%创建池A =魔法(4);%创建神奇的4×4矩阵B =分布的(A);%分配给工人乙%查看导致客户端。谁是%B是这里的分布式阵列。删除(GCP)%停止池
您已经创建乙
作为一个分散式
阵列,分裂了工人在并行池。这示于该图中。
不像分散式
阵列,codistributed
阵列允许您控制分布的各个方面,包括尺寸和分区。您可以创建一个codistributed
阵列中的不同的方式:
分区更大的阵列- 开始一个大阵是全体职工复制和分区它,这样的作品跨越工人分布。当你有足够的内存来存储初始复制的阵列,这是最有用的。
从较小的阵列构建- 启动与存储在每个工人较小复制阵列,并且将它们结合,从而每个阵列变得更大codistributed阵列的段。这种方法,因为它可以让你从更小的碎片打造codistributed阵列减少了内存的需求。
使用MATLAB构造函数- 使用任何MATLAB的®构造函数像兰特
要么零
用codistributor对象参数。这些功能提供了构建任何大小的阵列codistributed只需一个步骤的快速手段。
在这个例子中,你创建一个codistributed
阵列内的SPMD
声明中,使用非默认的分配方案。首先,定义1-d分布沿着第三维,与4份对工人1,和12份对工人2.然后创建一个3×3×16阵列的零。
parpool('本地',2)%创建池SPMDcodist = codistributor1d(3,[4,12]);Z =零(3,3,16,codist);Z = Z + labindex;结束ž%查看导致客户端。谁是%Z是这里的分布式阵列。删除(GCP)%停止池
有关codistributed阵列的更多详细信息,请参阅与Codistributed阵列工作。