分布式数组
Parallel Computing Toolbox™ 支持分布式数组,以对大型数组进行分区到多个 MATLAB® 工作单元上。您可以将整个数组作为单个实体进行操作,但是,工作单元仅对其所属的数组部分进行操作,并在必要时自动在它们之间传输数据。单程序多数据 (spmd
) 语言构造支持同时执行,有助于工作单元之间的通信。使用分布式矩阵运算和函数可直接处理这些数组,而无需进一步修改。您可以使用 Parallel Computing Toolbox 中的分布式数组,利用集群总内存来运行大数据应用程序。
函数
类
示例和操作指南
- 创建和使用分布式数组
当您的数据数组太大而无法放入单台计算机的内存时,您可以创建一个
distributed
数组。 - 使用分布式数组运行 MATLAB 函数
对分布式数组进行操作的 MATLAB 函数。
- 将数组分发给并行工作单元
使用
datastore
或distributed
创建分布式数组并在您的工作单元之间划分数据。 - 在多个数据集上运行单个程序
使用
spmd
语句在多个数据集上运行相同的代码并控制共存分布式数组。 - 使用 Composite 访问工作单元变量
MATLAB 客户端会话中的 Composite 对象让您直接访问工作单元上的数据值。您通常在
spmd
语句中分配这些变量。在显示和使用方面,Composite 类似于元胞数组。有两种方法可以创建 Composite: - Train Network in Parallel with Custom Training Loop (Deep Learning Toolbox)
This example shows how to set up a custom training loop to train a network in parallel.
- 使用 spmdReduce 实现 MPI_Allreduce 功能
在这个示例中,我们研究
spmdReduce
函数及其构建的函数:spmdPlus
和spmdCat
。这些看似简单的函数实际上是并行编程中非常强大的工具。 - 使用消息传递对 Pi 进行数值估算
此示例展示了使用 spmd 语句的基础知识,以及它们如何提供执行并行计算的交互式方式。我们通过执行相对简单的计算来近似圆周率。
- 在 spmd、parfor 和 parfeval 之间选择
将
spmd
与其他并行计算功能(例如parfor
和parfeval
)进行比较和对比。
概念
- 非分布式与分布式数组
描述在通信作业中使用的各种类型的数组。
- 使用共存分布式数组
描述如何使用共存分布式数组进行计算。
- 遍历分布式范围(for-drange)
描述如何用共存分布式数组编写
for
循环。 - 处理远程数据
处理 Amazon S3™、Azure® Blob 存储或 HDFS™ 中的远程数据。