Command Palette

Search for a command to run...

CP2K_Benchmark 性能基准测试数据集

日期

15 天前

机构

ETH Zurich(苏黎世联邦理工大学)
University of Basel(巴塞尔大学)
University of Zürich

发布地址

github.com

论文链接

doi.org

许可协议

GPL

加入 Discord 社区

*该数据集支持在线使用,点击此处跳转

CP2K Benchmark 数据集是一套专门为高性能计算(HPC)环境设计的性能测试与验证输入集合。该数据集来自开源第一性原理模拟软件 CP2K,用于评估在不同硬件平台、并行策略(MPI/OpenMP)和编译优化设置下,量子化学与分子动力学计算的性能表现。

与科学实验数据不同,本数据集主要用于高性能计算性能评估(运行速度、并行效率、扩展性等),由 CP2K 官方团队维护,数据与输入文件位于源代码的 benchmarks/ 目录中。

相关论文成果为「CP2K: atomistic simulations of condensed matter systems」,由瑞士苏黎世联邦理工学院联合苏黎世大学、巴塞尔大学等机构于 2013 年发布。

数据集结构

数据集位于 CP2K 源码仓库的 benchmarks/ 目录下,包含多个子目录与输入文件:

benchmarks/
 ├── Fayalite-FIST/        # FIST 模块基准,Fayalite 体系
 ├── QS/                   # Quickstep 模块基准(DFT/MD)
 ├── QS_DM_LS/             # 线性标度 DFT 基准
 ├── QS_HFX/               # 混合泛函 HFX 基准
 ├── QS_diag/              # 对角化算法基准
 ├── QS_mp2_rpa/           # MP2 / RPA 高精度基准
 ├── QS_ot_ls/             # 轨道变换线性标度 DFT 基准
 ├── QS_pao_ml_tio2/       # PAO / ML 势 TiO₂ 基准
 ├── QS_rubri/             # Rubredoxin 蛋白质基准
 ├── QS_single_node/       # 单节点 Quickstep 基准
 ├── QS_stmv/              # STMV 病毒体系基准
 ├── README.md             # 各基准说明文档

每个子目录中都包含:

  • 体系结构文件(如 .xyz 、.psf 、.pdb)
  • CP2K 输入脚本(.inp)
  • 参考能量结果与输出模板
  • 运行与性能记录脚本

数据集内容

该数据集包含多个标准化的基准问题,每个问题代表一种典型的科学计算场景,涵盖从经典分子动力学到从头算电子结构的不同计算类型。

  1. H₂O-64
  • 类型:DFT + 分子动力学
  • 体系:64 个水分子(192 原子 / 512 电子)
  • 用途:测试标准量子化学模拟在中等体系下的性能与扩展性。
  1. Fayalite-FIST
  • 类型: 经典分子动力学(FIST 模块)
  • 体系:Fayalite 晶体(Fe₂SiO₄ 超胞,约 28,000 原子)
  • 用途:评估经典力场计算及长程电场求和算法在大体系下的性能。
  1. LiH-HFX
  • 类型: Hybrid DFT(HFX 单点计算)
  • 体系:LiH 晶体(216 原子 / 432 电子)
  • 用途:测试混合交换泛函在多线程并行下的负载与通信效率。
  1. H₂O-DFT-LS
  • 类型: Linear Scaling DFT
  • 体系: 2048 个水分子(6144 原子)
  • 用途: 评估线性标度算法在大规模并行下的扩展性与内存需求。
  1. H₂O-64-RI-MP2
  • 类型:MP2 方法 + RI 近似
  • 体系:与 H₂O-64 相同
  • 用途:测试高阶从头算方法在 HPC 上的性能与计算开销。

运行基准测试

在运行部分基准测试前,可能需要先完成预处理步骤,用于生成所需的输入文件(例如波函数文件等)。
这些准备工作会在对应基准测试子目录下的 README.md 文件中详细说明,建议在开始测试前先阅读相关说明。

数据集中的基准测试通常采用 混合并行(Hybrid Parallel)的运行方式,即同时使用 MPI 与 OpenMP 进行并行计算。以下示例展示了如何为每个 MPI 进程分配 2 个线程来执行基准测试:

export OMP_NUM_THREADS=2
parallel_launcher launcher_options path_to_cp2k.psmp -i inputfile.inp -o logfile.log

其中:

  • parallel_launcher 为 mpirun 、 mpiexec,或其他变体,例如在 Cray 系统上的 aprun,或使用 Slurm 作业调度时的 srun 。
  • launcher_options 指定并行运行的节点数、 MPI 进程数、每节点任务数以及每任务线程数(应等于 OMP_NUM_THREADS 的值)。若并行运行配置已由作业环境自动设置,则无需手动指定。

获取基准测试结果

在运行完基准测试后,用户可以通过输出日志文件中的内部计时信息来获取 CP2K 的实际运行时间(walltime)。
数据集提供的所有基准测试都会在日志文件中记录这些计时信息,方便用户对比不同硬件或并行配置的性能表现。
获取方法示例如下:

grep "CP2K     "  *.log

此外,日志文件末尾还包含若干性能统计信息:

  • DBCSR STATISTICS:显示 DBCSR 模块的计算与通信性能统计。前几行包括不同小矩阵块大小对应的浮点运算数(FLOPs),以及这些计算在 BLAS 、 SMM(小矩阵乘法器)与 GPU (ACC) 上的分布比例。
  • DBCSR MESSAGE PASSING PERFORMANCE:显示 DBCSR 模块中的 MPI 调用性能统计。
  • MESSAGE PASSING PERFORMANCE:显示 CP2K 其他部分的 MPI 通信性能统计。
  • T I M I N G:列出各函数的调用时间与调用次数。

绘图

该项目还提供了用于生成扩展性(scaling)图表的 Python 脚本,用于可视化该数据集,可在以下目录中找到:

cp2k/tools/benchmark_plots/

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供