好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

多核计算平台中matlab_并行计算工具包.pdf

22页
  • 卖家[上传人]:n****
  • 文档编号:89794877
  • 上传时间:2019-06-02
  • 文档格式:PDF
  • 文档大小:730.56KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 多核计算平台中 MA TLAB 并行计算工具包 2 1 MA TLAB 并行计算工具包简介 . 2 主要功能. 2 2 数据并行编程(数据并行编程(parfor)) . 4 2.1 简介 . 4 2.1.1 parfor 的使用场景 . 4 2.1.2 使用 matlabpool 设置 MA TLAB资源 . 4 2.1.3 创建 parfor-Loop . 5 2.1.4 for-Loops 与 parfor-Loops 的差异 . 5 2.1.5 规约赋值 . 6 2.2 parfor 程序设计注意事项 . 7 2.2.1 MA TLAB 路径. 7 2.2.2 错误处理 . 7 2.2.3 局限性 7 2.2.4 性能考虑 . 9 2.2.5 与早期 MA TLAB 软件的兼容性 10 3 任务并行编程(任务并行编程(spmd)). 10 3.1 使用 spmd 结构 . 10 3.1.1 简介简介. 10 3.1.2 何时使用何时使用 spmd. 10 3.1.3 使用使用 matlabpool 创建创建 matlab资源资源 11 3.1.4 定义一个定义一个 spmd 语句语句 .11 3.2 通过 Composites 访问数据 13 3.2.1 简介简介. 13 3.2.2 在在 spmd 语句中创建语句中创建 composite 13 3.2.3 变量的持久性和变量的持久性和 spmd 的次序的次序 15 3.2.4 在在 spmd 外创建外创建 composite . 16 3.3 分布式数组 16 3.3.1 分布式分布式 vs codistrbuted数组数组 16 3.3.2 创建分布式数组创建分布式数组 16 3.3.3 创建创建 codistributed 数组数组 . 17 3.4 编程建议 . 17 3.4.1 MATLAB 路径路径. 18 3.4.2 错误处理错误处理 . 18 3.4.3 局限性局限性 18 4 多核环境下 matlab 并行工具箱运行方法. 19 5 矩阵向量乘与矩阵矩阵乘多核并行化 . 20 多核计算多核计算平台中平台中 MATLAB 并行计算工具包并行计算工具包 1 MATLAB 并行计算工具包简介并行计算工具包简介 工程师和科学家们面临着用更少的时间建立复杂系统模型的需求,他们使用分布式和并 行计算来解决高性能计算的问题。

      这些分布式的环境由多处理器和多核计算机来实现 Mathworks公司开发的分布式计算工具箱可以在多处理器计算环境中使用 MA TLAB 和 Simulink 解决计算、数据密集型问题可以使用该工具箱解决通过装配多个处理器包含几 个单独工作单位或单个大型计算的问题 这些处理器可以驻留在一个多处理器计算机上, 或 者,当工具箱配合 MA TLAB 分布式计算引擎时,驻留在计算机集群上 该工具箱提供高级构造,如并行回路、并行算法、基于 MPI 的函数,以及用于作业和 任务管理的低级构造并行命令窗口提供熟悉的用于开发并行应用程序的 MA TLAB 交互 式环境也能够在批处理环境中脱机执行分布式和并行应用程序 利用 Parallel Computing Toolbox(并行计算工具箱) ,可在多核和多处理器计算机上使 用 MA TLAB 和 Simulink 来解决计算问题和数据密集型问题并行处理结构包括并行 for 循环和代码块、分布式数组、并行数值算法,以及消息传递函数等,可以以较高的级别在 MA TLAB 中执行任务及数据并行算法,而无需为特定的硬件和网络架构编写程序这样, 将串行 MA TLAB 应用程序转换为 并行 MA TLAB 应用程序,便几乎不需要修改代码,且 不需要使用低级语言编写程序。

      此外, 还可以在各种批处理环境中交互运行或脱机运行应用 程序 使用 Parallel Computing Toolbox 开发并行应用程序 利用该工具箱, 应 用 程 序 能 够在 包 含 多达 四 个 本 地 worker(左)的桌面建立原型,并且, 通过 MATLAB Distributed Computing Server(MATLAB 分布式计算服务器) (右) ,可以扩展应用程序,将其应用 到一个集群上的多台计算机 单击图像 可查看大图 使用工具箱在单个多核或多处理器桌面上执行应用程序无需更改代码,即可在计算机 集群上运行同一个应用程序(使用 MA TLAB Distributed Computing Serverâ„¢) 并行的 MA TLAB 应用程序可以作为可执行程序或共享库(用 MA TLAB Compilerâ„¢ 构建)分发, 这些可执行程序或共享库可以访问 MA TLAB Distributed Computing Server 主要功能主要功能  支持数据并行和任务并行的应用程序开发  可使用 parfor(并行 for 循环)和 spmd(单程序多数据)注释代码段,用于执行 数据并行和任务并行的算法  高级别的结构,如分布式数组、并行算法,以及消息传递函数,可在多个处理器上 处理大型的数据集  可在一个多核桌面上本地运行八个 worker  与 MA TLAB Distributed Computing Server 集成,可用于使用调度程序或任意数量 worker 的基于集群的应用程序  提供交互模式和批量执行模式 Parallel Computing Toolbox(并行计算工具箱)提供了多种高级编程结构,利用此工具 箱,可对串行 MA TLAB 代码进行转换,使之在数个 worker(独立于 MA TLAB 客户端运 行的 MA TLAB 计算引擎)上并行运行。

      这些 worker 既可在桌面上运行(工具箱在桌面上 可本地运行多达八个 worker) ,也可在集群上运行(使用 MA TLAB Distributed Computing Server(MA TLAB 分布式计算服务器) ) 这样的结构可降低在 MA TLAB 客户端与 worker 之间、 以及各 worker 之间管理计算与数据的协调与分发的复杂性, 从而简化并行代码开发 此外,可使用关键词,例如 parfor(并行 for 循环)和 spmd(单程序多数据)语句来注释 MA TLAB 代码,从而可以探究算法的各个区段所提供的任务和数据并行机制 MA TLAB 池和并行命令窗口 (pmode) 支持交互执行,这样,在设置耗时较长的运行或 脱机任务前,可以先测试应用程序的某些区段即使没有 worker,这些结构仍能够运作, 这样,只需维护单个代码版本,即可确保串行执行和并行执行 通过将 Monte Carlo 仿真和其他粗粒度或密集并行问题组织为独立的任务 (工作单元) , 即可实现其并行化工具箱中的并行 for 循环提供了一种在多个 MA TLAB worker 间分配 任务的方式。

      使用该循环, 可以将独立的循环迭代自动分配给多个 MA TLAB worker parfor 结构管理着 MA TLAB 客户端会话与 worker 之间的数据和代码传输 它会自动检测是否有 worker,如果没有,则会还原为串行方式 此外,还可以将任务编写为 MA TLAB 函数或 MA TLAB 脚本如果指定为函数,可以 通过在工具箱中处理任务和作业对象来执行任务; 如果指定为脚本, 则可以使用批处理功能 对于需要大型数据集处理的 MA TLAB 算法,Parallel Computing Toolbox 提供了分布式 数组、并行函数,以及使用 spmd 关键词注释代码区段的功能,可用于在数个 worker 上并 行执行这些并行结构可处理 worker 间通信,并协调后台的并行计算 使用分布式数组,可以在参与并行计算的所有 worker 间分配任何数据类型的矩阵利 用并行函数,可以执行多种数学运算,例如索引、矩阵相乘、分解,以及在分布式数组上直 接转换 此外, 工具箱还提供了 150 个多个用于分布式数组的函数, 包括基于 ScaLAPACK 的线性代数例程 如要对并行方案进行显式的、细粒度的控制,同时还需要明确管理 worker 间的协调, 通过 Parallel Computing Toolbox 函数可访问基于 MPI 标准 (MPICH2) 的消息传递例程, 包括用于发送、接收、广播、阻挡、以及探测操作的函数。

      使用 spmd 结构,可以指定代码的区段以在所有参与并行计算的 worker 间并行运行 程序执行过程中,该结构会自动将在其内部使用的数据和代码传输给 worker,并在执行完 毕后将结果返回给 MA TLAB 客户端会话分布式数组、并行函数以及消息传递函数可以 在 spmd 结构内部使用在没有 worker 的情况下,MA TLAB 会串行执行 spmd 语句 2 数据并行编程(数据并行编程(parfor)) 2 2.1 .1 简介简介 MA TLAB软件中 parfor 循环(parfor-loop)的基本概念和标准 MA TLAB for 循环(for-loop) 是一样的: MA TLAB在一些值的范围内执行一系列语句(循环)parfor 循环体一部分运行在 MA TLAB client(parfor 分发的地方), 部分并行地运行在 MA TLAB workers——大部分的计算 工作在这里完成,得到的结果被发回 client,然后整合(发回的计算结果是零散的,在 client 整合为最终的结果) 由于若干 MA TLAB workers 可以在同一循环上同时计算, parfor 循环能够提供比与其类 似的 for 循环好得多的性能。

      parfor 循环体的每次执行都是一次迭代MA TLAB workers 以非特定顺序并相互独立地 计算(evaluate)迭代因为每次迭代都是独立的,无论如何也不能保证这些迭代的同步,也没 有必要如果 workers 的数量与迭代次数相等,那么每个 worker 执行一次迭代如果迭代 次数多于 workers 数量,那有些 workers 执行多次迭代;在这种情况下,为减少通信时间, 一个 workers 可能一次接到多次迭代 2.1.1 parfor 的使用场景 当你需要简单计算的多次循环迭代时,例如蒙特卡洛(Monte Carlo)模拟,parfor 循环就 很有用parfor 将循环迭代分组,那么每个 worker 执行迭代的一部分当迭代耗时很长的时 候 parfor 循环也是有用的,因为 workers 可以同时执行迭代 当循环中有迭代依赖其他迭代的结果时不应该使用 parfor 循环 每个迭代都必须不依赖 其他迭代由于 parfor 循环内有通信消耗,当只有小数量的简单计算时使用 parfor 可能得不 到什么好处这部分的例子只是用来说明 parfor 循环的表现(行为),不一定证明这些应用最 适合它们(parfor 循环)。

      2.1.2 使用 matlabpool设置 MATLAB 资源 为执行随后的 parfor 循环,使用 matlabpool 函数预设 MA TLAB workers 的数量Workers 可 以远程运行于集群上,或者就运行在本地 MA TLAB client,这取决于你的安排You identify a scheduler and cluster by selecting a parallel configuration.关于怎样管理和使用配置,参见 Programming with User Configurations. 开始这部分的例子,为评估循环迭代分配本地 MA TLAB workers: matlabpool 这个命令启动了由默认并行配置定义数量的 MA TLAB workers如果默认的本地配置,并且 没有指定 。

      点击阅读更多内容
      相关文档
      Unit2 Health and Fitness语法课件-(高教版2023·基础模块2).pptx 九年级数学提升精品讲义 用配方法求解一元二次方程(原卷版).docx 九年级数学提升精品讲义 一元二次方程的根与系数的关系(解析版).docx 2025学年九年级化学优学讲练(人教版) 化学实验与科学探究(解析版).docx 九年级数学提升精品讲义 一元一次不等式与一元一次不等式组(原卷版).docx 九年级数学提升精品讲义 因式分解(解析版).docx 九年级数学提升精品讲义 相似三角形的性质(原卷版).docx 2025年 初中七年级数学 相交线与平行线 知识突破速记与巧练(原卷版).docx 九年级数学提升精品讲义 中点模型之斜边中线、中点四边形(解析版).docx 2025学年九年级化学优学讲练(人教版) 分子和原子(解析版).docx 九年级数学提升精品讲义 正方形的性质(原卷版).docx 九年级数学提升精品讲义 用因式分解法求解一元二次方程(解析版).docx 2025年 初中七年级数学 实数 知识突破速记与巧练(原卷版).docx 九年级数学提升精品讲义 应用一元二次方程(原卷版) (2).docx 2025年 初中七年级数学 相交线与平行线 压轴专练速记与巧练(解析版).docx 九年级数学提升精品讲义 用公式法求解一元二次方程(解析版).docx 2025学年九年级化学优学讲练(人教版) 化学方程式的书写(原卷版).docx 九年级数学提升精品讲义 应用一元二次方程(解析版) (2).docx 2025年 初中七年级数学 数据的收集、整理与描述 综合测试速记与巧练(解析版).docx 九年级数学提升精品讲义 中点模型之斜边中线、中点四边形(原卷版).docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.