一种在 GPU 上并行化部分子簇射的算法
高能物理 - 唯象学
2024-09-11 v3
摘要
GPU 编程的单指令多线程 (SIMT) 范式在定义上不支持部分子簇射算法的分支特性。然而,现代 GPU 被设计为能够独立调度具有发散过程的线程,从而允许它们处理此类分支。通过定期的线程同步和对各个步骤的细致处理,可以在 GPU 上模拟部分子簇射。我们提出了一种 Sudakov 否决算法,旨在并行模拟多个事件的部分子分支。我们还发布了一个 CUDA C++ 程序,该程序可在 GPU 上为 91.2 GeV 的 LEP 生成矩阵元、簇射部分子并计算喷注率和事件形状。为了基准测试其性能,我们还提供了一个几乎相同的 C++ 程序,旨在 CPU 上串行模拟事件。虽然分支带来的后果并未消除,但我们证明 GPU 可以提供相当于多核 CPU 的吞吐量。例如,我们展示在一颗 NVIDIA TESLA V100 GPU 上簇射 10^6 个事件所需的时间等同于 295 个 Intel Xeon E5-2620 CPU 核心的时间。
引用
@article{arxiv.2403.08692,
title = {An Algorithm to Parallelise Parton Showers on a GPU},
author = {Michael H. Seymour and Siddharth Sule},
journal= {arXiv preprint arXiv:2403.08692},
year = {2024}
}
备注
23 pages, 9 figures