课程详细信息
这个为期两天的课程涵盖了各种制作MATLAB的技术®代码运行更快。您将使用预分配和向量化等技术识别和消除计算瓶颈。此外,您将使用MATLAB Coder™将MATLAB代码编译为mex文件。最重要的是,您将利用计算机上的多个核心,使用并行计算工具箱™并行for循环,并使用MATLAB并行服务器™在集群或云上扩展,范围从中等数量的核心到高性能计算(HPC)。这些概念之间的相互作用将在整个课程中探索。如果您正在使用长时间运行的模拟,您将受益于课程中的实际演示和练习。
主题包括:
- 提高核心MATLAB的性能
- 生成mex files
- 并行计算
- 执行卸载
- 使用集群
- GPU计算
2天中的第一天
提高性能
摘要目的:分析代码性能,并利用MATLAB中的加速技术。
- 识别瓶颈
- Preallocating数组
- 以各种方式向量化操作
- 重写算法
生成mex files
摘要目的:从MATLAB代码生成编译的代码文件,以获得更好的性能。
- MATLAB编码器概述和工作流程
- 生成并验证mex文件
- 调用不支持的函数万博1manbetx
- 调整生成mex文件的设置
并行计算
摘要目的:并行代码执行以利用多核。
- 打开其他MATLAB进程
- 并行运行for循环
- 测量加速
- 并行处理多个文件
2天中的第二天
平行的for循环
摘要目的:更详细地探索并行for循环,并应用将for循环转换为parfor循环的技术。
- 并行for循环的要求
- 并行for循环
- 检索中间结果
执行卸载
摘要目的:卸载计算到另一个MATLAB进程,以便能够在此期间使用MATLAB进行其他任务。这也是使用集群的准备步骤。
- 批量加工
- 创建批作业
- 检索结果
- 使用作业监视器
使用集群
摘要目的:通过使用多台计算机加速计算并实现更广泛的模拟。
- 本地和远端集群
- 动态许可
- 集群发现和连接
- 文件访问注意事项
GPU计算
摘要目的:在计算机的图形卡(GPU)上执行MATLAB代码作为加快计算速度的另一种选择。
- GPU架构和处理概述
- 适合GPU处理的应用
- 在GPU上调用MATLAB函数
- 生成CUDA®使用GPU Coder™的MEX文件
- 使用已有的CUDA代码