【LAMMPS学习】七、加速性能(1)基准测试

7. 加速性能

本节介绍针对不同类型机器上运行的不同类别问题提高 LAMMPS 性能的各种方法。

接下来的讨论有两个要点。

第一个是使用代码选项来实现可以加速模拟的替代算法。

第二种是使用 LAMMPS 提供的多个加速器包之一,其中包含针对某些类型的硬件优化的代码,包括多核 CPU、GPU 和 Intel Xeon Phi 协处理器。

LAMMPS 网站的基准页面提供了加速器包页面上讨论的各种加速器包的性能结果,针对多个标准 LAMMPS 基准问题,作为问题大小和计算节点数量的函数,在不同的硬件平台上。

7.1.基准测试

LAMMPS 网站的基准页面讨论了当前的 LAMMPS 性能,其中列出了时序和并行效率。该页面有几个部分,简要介绍如下:

  • CPU 在 5 个标准问题上的性能,强缩放和弱缩放
  • GPU 和 Xeon Phi 在相同和相关问题上的性能
  • 原子间势的成本比较
  • 巨大的,十亿原子问题的性能

5个标准问题如下:

  1. 1.LJ = 原子流体,Lennard-Jones 势,截止值为 2.5 sigma(每个原子 55 个邻居),NVE 积分2.Chain= 100-mer链的珠-弹簧聚合物熔体,FENE键和LJ成对相互作用,具有2^(1/6)sigma截止(每个原子5个邻居),NVE积分
  2. 3.EAM = 金属固体,Cu EAM 电势截止值为 4.95 埃(每个原子 45 个邻居),NVE 积分
  3. 4.Chute = 粒状溜槽流,具有 1.1 sigma 截止值的摩擦历史势(每个原子 7 个邻居),NVE 积分
  4. 5.Rhodo = 溶剂化脂质双层中的视紫红质蛋白、具有 10 埃 LJ 截止值的 CHARMM 力场(每个原子 440 个邻居)、用于长程库仑学的粒子-粒子粒子-网格 (PPPM)、NPT 积分

LAMMPS 发行版的 bench 目录中提供了这 5 个问题的输入文件。每个都有 32,000 个原子,运行 100 个时间步长。问题的大小(原子数量)可以使用命令行开关来改变,如工作台/自述文件中所述。这是测试机器性能以及可扩展性强弱的简单方法。

bench 目录包含一些 log.* 文件,这些文件显示了这 5 个问题在 Linux 桌面的 1 或 4 核上的性能。 bench/FERMI 和 bench/KEPLER 目录包含输入文件和脚本以及使用 OpenMP 或 GPU 或 Xeon Phi 加速选项运行相同(或类似)问题的说明。请参阅这些目录中的自述文件和加速器包页面,了解如何构建 LAMMPS 并在此类硬件上运行的说明。

bench/POTENTIALS 目录包含与基准网页的 Potentials 部分上的结果表相对应的输入文件。所以你也可以在你的机器上运行这些测试问题。

基准网页的十亿原子部分包含简单 Lennard-Jones (LJ) 模型的超大型基准运行的性能数据,该模型使用 bench/in.lj 输入脚本。

对于所有基准测试,一个有用的指标是每个时间步每个原子的 CPU 成本。由于所有 LAMMPS 模型(即原子间或粗粒度势)的性能与问题大小和时间步长大致呈线性关系,因此可以估计使用相同模型(原子样式、力场、截止等)的任何问题的运行时间。

如果可以估计并行效率,则还可以根据单核或单节点时序来预测并行计算机上的性能。特定并行机的通信带宽和延迟会影响效率。在大多数机器上,只要原子/核心的数量为几百或更多,LAMMPS 就会在这些基准测试中给出高于 50% 的并行效率,而对于大量原子/核心,则接近 100%。这适用于每个核心一个 MPI 任务的全 MPI 模式。对于具有加速器选项或硬件(OpenMP、GPU、Phi)的节点,您应该首先测量单节点性能。然后,您可以使用与全 MPI 模式相同的逻辑来估计多节点运行的并行性能,只不过现在您通常需要更多的原子/节点来实现良好的可扩展性。

7.2.测试性能

7.3.通用技巧

7.4.加速器包

7.5.加速器包比较

  • 32
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LAMMPS是一种常用的大分子动力学模拟软件,用于研究材料力学性能。在进行力学性能测试时,LAMMPS产生大量的数据,包括原子坐标、原子速度、原子力等信息,这些数据可以通过使用Matlab进行处理和分析。 对于力学性能测试数据的处理,Matlab可以进行各种数据处理操作,包括数据读取、数据筛选、数据变换以及数据可视化等。首先,可以使用Matlab的读取函数,如`importdata`或`readtable`将LAMMPS输出的数据文件导入到Matlab中,可以得到一个矩阵或表格型的数据结构。 在掌握了数据后,可以使用Matlab提供的各种工具对数据进行筛选和处理。例如,可以根据需要选择特定的原子类型或区域,从原始数据中筛选出感兴趣的数据。可以使用Matlab的条件语句和循环语句对数据进行操作,如计算力的大小、原子的受力方向等。 Matlab还提供了丰富的数学函数和工具箱,可用于对力学性能数据进行数值计算和分析。例如,可以计算应力张量、应变张量,并根据得到的结果评估材料的力学性能。Matlab的统计工具箱还可以用于对数据的统计分析,如计算平均值、方差、相关系数等。 最后,Matlab还提供了强大的数据可视化功能,可以绘制各种图形以展示力学性能数据的特征。例如,可以绘制原子位置的散点图、力的分布图、应力-应变曲线等,帮助研究人员更直观地理解和分析力学性能测试数据。 综上所述,Matlab在LAMMPS力学性能测试数据的处理中具有广泛的应用,可以帮助研究人员快速获取、处理和分析数据,从而更深入地研究材料的力学性能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值