Skip to main content
QUICK REVIEW

[论文解读] QCDGPU: open-source package for Monte Carlo lattice simulations on OpenCL-compatible multi-GPU systems

Vadim Demchik, Natalia Kolomoyets|arXiv (Cornell University)|Oct 26, 2013
Quantum Chromodynamics and Particle Interactions参考文献 22被引用 9
一句话总结

QCDGPU 是一个开源的、跨平台的蒙特卡洛格点模拟软件包,用于在支持 OpenCL 的多 GPU 系统上进行 SU(N) 胶量子色动力学和 O(N) 模型的模拟。它支持单精度/双精度计算、异构设备间的动态负载均衡以及基于客户端-服务器架构的分布式计算,实现了与基于 CUDA 的实现相当的性能,适用于 AMD 和 NVIDIA GPU。

ABSTRACT

The multi-GPU open-source package QCDGPU for lattice Monte Carlo simulations of pure SU(N) gluodynamics in external magnetic field at finite temperature and O(N) model is developed. The code is implemented in OpenCL, tested on AMD and NVIDIA GPUs, AMD and Intel CPUs and may run on other OpenCL-compatible devices. The package contains minimal external library dependencies and is OS platform-independent. It is optimized for heterogeneous computing due to the possibility of dividing the lattice into non-equivalent parts to hide the difference in performances of the devices used. QCDGPU has client-server part for distributed simulations. The package is designed to produce lattice gauge configurations as well as to analyze previously generated ones. QCDGPU may be executed in fault-tolerant mode. Monte Carlo procedure core is based on PRNGCL library for pseudo-random numbers generation on OpenCL-compatible devices, which contains several most popular pseudo-random number generators.

研究动机与目标

  • 开发一个可移植的高性能格点蒙特卡洛模拟软件包,用于格点规范场论,可在多种 GPU 和 CPU 平台上高效运行。
  • 利用 OpenCL 实现跨平台兼容性,支持在异构多 GPU 系统上大规模模拟 SU(N) 胶量子色动力学和 O(N) 模型。
  • 通过轻量级客户端-服务器架构,支持容错执行和跨多台主机的分布式模拟。
  • 最小化主机 CPU 负载和外部依赖,便于与其他 HPC 工作流集成。
  • 通过模块化代码设计,支持通过扩展添加新的规范群和可观测量。

提出的方法

  • 使用 OpenCL 实现,以确保在 AMD、NVIDIA 和 Intel GPU 及 CPU 上的可移植性。
  • 采用动态负载均衡策略,将格点划分为非均匀部分,以隐藏异构设备间的性能差异。
  • 采用客户端-服务器模型进行分布式模拟,通过共享网络文件夹实现在多台主机上的执行。
  • 与 PRNGCL 集成,实现在 GPU 设备上的高质量伪随机数生成,支持多种标准生成器。
  • 支持单精度和双精度浮点运算,以在性能与精度之间取得平衡。
  • 集成检查点机制,每 N 次扫掠或 M 秒保存一次模拟状态,以实现容错和在不同硬件上的恢复。

实验结果

研究问题

  • RQ1基于 OpenCL 的可移植模拟软件包能否在多 GPU 系统上实现与基于 CUDA 的实现相当的性能?
  • RQ2在格点蒙特卡洛模拟中,异构 GPU 和 CPU 设备的负载均衡效率如何?
  • RQ3在长时间运行的格点模拟中,容错执行能在多大程度上实现而不会造成数据丢失?
  • RQ4能否通过轻量级客户端-服务器模型高效编排跨多台主机的分布式模拟?
  • RQ5该软件包在不同硬件平台(包括 AMD 和 NVIDIA GPU)上的可扩展性如何?

主要发现

  • 在 NVIDIA GeForce GTX 560 Ti 上,SU(2) 的单次扫掠性能为 6×10⁻⁴ 秒,SU(3) 为 1.3×10⁻³ 秒,与已发表的基于 CUDA 的结果一致。
  • 在 AMD Radeon HD 7970 上,SU(2) 的单次扫掠时间为 2.0×10⁻³ 秒,SU(3) 为 3.4×10⁻³ 秒,表明在 AMD 硬件上也具备强劲性能。
  • 双精度性能处于可接受范围内,SU(3) 在 AMD 上耗时 5.1×10⁻³ 秒,在 NVIDIA 上为 4.9×10⁻³ 秒。
  • 在异构平台(AMD 和 NVIDIA)上的多 GPU 模拟中,性能相比单设备最佳性能提升了 10%–25%,表明负载均衡有效。
  • 该软件包成功实现了容错执行,支持长时间模拟的中断与恢复,且不会造成数据丢失。
  • 客户端-服务器架构支持通过共享网络文件夹在多台主机上进行分布式模拟,网络开销极低,仅由轻量级控制消息引起。

更好的研究,从现在开始

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

无需绑定信用卡

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