文档

创建和使用分布阵列

如果你的数据是目前在本地计算机的内存,你可以使用分散式函数从客户工作区现有阵列分配到平行池的工人。分散式阵列使用的多个工人的组合的存储器以平行池存储一个数组元素。对于数据分区的替代方法,请参阅分布阵列。您可以使用分散式阵列扩展你的大数据计算。考虑分散式阵列时,您可以访问到群集,你可以在你的集群相结合的多台计算机的内存。

一个分散式阵列是一个变量,多工人劈了过来在你的并行池。你可以用这个变量作为一个单一实体工作,而不必担心它的分布式特性。浏览可用的功能分散式阵列在并行计算工具箱™:分布式阵列使用MATLAB功能

当你创建一个分散式数组,你无法控制分布的细节。另一方面,codistributed阵列允许您控制分布的各个方面,包括尺寸和分区。在下文中,您将学习如何创建这两个分散式codistributed阵列。

创建分布阵列

您可以创建不同的方式分布阵列:

  • 使用分散式函数从客户工作区现有阵列分配到平行池的工人。

  • 您可以直接在建造工人分布阵列。你并不需要先在客户端阵列,使客户工作区的内存需求减少。提供的功能包括:(___,'分散式')兰特(___,'分散式')等有关完整列表,请参阅分散式对象引用页面。

  • 创建一个codistributed阵列内的SPMD声明,请参阅单程序多数据(SPMD)。然后访问它作为一个分散式阵列外部的SPMD声明。这允许您使用的不是缺省分配方案。

在本例中,将创建的客户工作区的阵列,然后把它变成一个分布阵列:

parpool('本地',4)%创建池A =魔法(4);%创建神奇的4×4矩阵B =分布的(A);%分配给工人%查看导致客户端。谁是%B是这里的分布式阵列。删除(GCP)%停止池

您已经创建作为一个分散式阵列,分裂了工人在并行池。这示于该图中。

创建Codistributed阵列

不像分散式阵列,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阵列工作

相关话题

是这个主题有帮助吗?