课程详细信息
本课程为期两天,包含多种 MATLAB® 代码加速运行的技术。使用诸如预分配和向量化的技术,您可以找出计算瓶颈并解决该问题。此外,您将使用 MATLAB Coder™ 将 MATLAB 代码编译为 MEX 文件。您还可以使用 Parallel Computing Toolbox™ 在计算机上并行处理多个 for 循环以充分利用多核,并使用 MATLAB Parallel Server™ 将计算扩展到从拥有中等数量的核到支持高性能计算 (HPC) 的集群或云上。本课程将讨论这些概念的相互作用。若您进行长时间仿真工作,本课程的示例和练习将会让你受益良多。内容包括:
- 提高核心 MATLAB 性能
- 生成 MEX 文件
- 计算并行化
- 负载均衡
- 使用集群
- GPU 计算
第1天 (共2天)
改善性能
目标: 分析代码性能,使用技术加速 MATLAB。
- 发现瓶颈
- 数组预分配
- 多种向量化操作
- 算法重写
生成 MEX 文件
目标: 从 MATLAB 代码生成编译代码文件以获得更好的性能。
- MATLAB Coder 概述和工作流程
- 生成并验证 MEX 文件
- 调用不支持的函数
- 调整 MEX 文件生成设置
计算并行化
目标: 使用多核并行化代码并行。
- 打开其他 MATLAB 进程
- 并行运行 for 循环
- 评估加速
- 并行处理多个文件
第2天 (共2天)
for 循环并行化
目标: 讨论 for 循环并行化的细节和 for 循环到 parfor 循环的转化应用技术。
- for 循环并行化的需求
- for 循环并行化
- 检索中间结果
负载均衡
目标: 将计算负载转移到另一个 MATLAB 进程以便使用 MATLAB 同时处理其他任务。这也是使用集群的准备步骤。
- 批量处理
- 创建批量工作
- 检索结果
- 使用 Job Monitor
使用集群
目标: 使用多台计算机加速计算和实现广泛仿真。
- 本地和远程集群
- 动态许可证
- 集群发现和连接
- 文件访问
GPU 计算
目标: 在 GPU 中运行 MATLAB 代码。
- GPU 架构和处理概述
- 适用于 GPU 处理的应用
- 在 GPU 中调用 MATLAB 函数
- 使用 GPU Coder™ 生成 CUDA® MEX 文件
- 使用现有的 CUDA 代码