Skip to main content
QUICK REVIEW

[论文解读] SIMULATeQCD: A simple multi-GPU lattice code for QCD calculations

L. Mazur, Dennis Bollweg|arXiv (Cornell University)|Jun 1, 2023
Advanced Data Storage Technologies参考文献 63被引用 4
一句话总结

SIMULATeQCD 是一款公开可用的开源多GPU格点QCD代码,专为使用高度改进的阶梯夸克(HISQ)作用量的高性能模拟而设计。它支持多种GPU API(CUDA、HIP、SYCL),可在不同硬件上实现高效的大型计算,并针对现代百亿亿次计算环境中的灵活性、可移植性和可扩展性进行了优化。

ABSTRACT

The rise of exascale supercomputers has fueled competition among GPU vendors, driving lattice QCD developers to write code that supports multiple APIs. Moreover, new developments in algorithms and physics research require frequent updates to existing software. These challenges have to be balanced against constantly changing personnel. At the same time, there is a wide range of applications for HISQ fermions in QCD studies. This situation encourages the development of software featuring a HISQ action that is flexible, high-performing, open source, easy to use, and easy to adapt. In this technical paper, we explain the design strategy, provide implementation details, list available algorithms and modules, and show key performance indicators for SIMULATeQCD, a simple multi-GPU lattice code for large-scale QCD calculations, mainly developed and used by the HotQCD collaboration. The code is publicly available on GitHub.

研究动机与目标

  • 应对在百亿亿次超级计算环境中,对支持多个GPU厂商(NVIDIA、AMD、Intel)的可移植、高性能格点QCD代码日益增长的需求。
  • 提供一个现代化、可维护且可扩展的软件框架,简化格点QCD中新算法和物理模型的实现。
  • 通过支持多GPU和多节点架构并实现高效的内存管理,实现使用HISQ费米子作用量的大规模QCD模拟。
  • 通过确保与ILDG数据格式的兼容性以及采用开源开发实践,促进HotQCD和更广泛的格点QCD社区之间的协作。
  • 通过抽象低级GPU编程细节,在保持高性能和可移植性的同时,降低新开发者的入门门槛。

提出的方法

  • 设计一种模块化、分层抽象的软件架构,将物理算法与底层GPU内核解耦,从而支持多种GPU编程接口(CUDA、HIP、SYCL)。
  • 实现一种灵活的格点场和规范配置索引系统,针对GPU架构的内存合并与缓存效率进行优化。
  • 将HISQ费米子作用量与改进的规范场配置相结合,包括使用费米子行列式第四次根以恢复正确的物理夸克味数目。
  • 通过域分解和非阻塞通信模式实现多GPU和多节点并行化,以最小化延迟并最大化重叠。
  • 通过预处理器宏支持仅CPU编译,以供开发和调试使用,尽管目前尚未实现向量化CPU内核。
  • 提供轻量级、模块化的代码库,配有清晰的文档和托管在GitHub上的仓库,采用MIT许可证,以鼓励社区贡献和长期可维护性。

实验结果

研究问题

  • RQ1如何设计格点QCD代码,以在保持高性能和可移植性的同时,高效支持多种GPU编程接口(CUDA、HIP、SYCL)?
  • RQ2哪些架构模式能够实现HISQ费米子作用量在多GPU和多节点系统上的高效、可扩展且可维护的实现?
  • RQ3现代格点QCD代码在多大程度上能够降低新研究人员和项目在算法开发和硬件移植方面的复杂性?
  • RQ4SIMULATeQCD框架在多大程度上支持新物理模型的集成,例如威尔逊费米子作用量或动力学粲夸克?
  • RQ5SIMULATeQCD在当前和新兴的百亿亿次系统(包括异构GPU架构)上的性能特征如何?

主要发现

  • SIMULATeQCD 成功支持多种GPU编程接口(CUDA、HIP、SYCL),可在包括Frontier、LUMI和Perlmutter在内的多种HPC系统上实现可移植性。
  • 该代码在大规模格点上实现了高性能,多GPU节点上观察到良好的强缩放性能,使其适用于QCD物态方程的百亿亿次模拟。
  • 模块化设计使得新算法(如压强的泰勒展开系数)的实现变得简单,仅需极少代码修改。
  • 该框架与ILDG数据格式完全兼容,支持HISQ作用量,可与现有格点QCD数据和工具实现互操作。
  • 该代码已由HotQCD合作组用于精确计算QCD状态方程、手征相变温度和守恒荷涨落。
  • 开源且采用MIT许可证的GitHub发布确保了长期可维护性和社区驱动的开发,目前已有来自全球多个机构的活跃贡献。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。