论文标题
MADGRAPH5_AMC@nlo的性能和可移植性的发展
Developments in Performance and Portability for MadGraph5_aMC@NLO
论文作者
论文摘要
事件发生器使用蒙特卡洛技术模拟粒子相互作用,从而提供了实验高能物理学中实验与理论之间的主要联系。这些软件包是对撞机实验的仿真变质中的第一步,约占地图集和CMS实验的年度WLCG使用情况的5%至20%。随着计算体系结构变得越来越异质,重要的是要确保可以在大小的未来系统上运行这些关键软件框架。在这一贡献中,讨论了在混合体系结构上的MADGRAPH5_AMC@NLO事件生成器(即带有GPU加速器的CPU)上的最新进展。这项工作的主要重点是计算散射幅度和“矩阵元素”,这是事件生成应用的计算瓶颈。对于仅限于QCD领先顺序的物理过程,已扩展了代码生成工具包,以使用CPU上的C ++矢量指令进行矩阵元素计算,并将CUDA用于NVIDIA GPU,以及使用Alpaka,Kokkos和SYCL进行多个CPU和GPU Architectures。在NVIDIA,INTEL和AMD设备上,每次计算矩阵元素计算报告性能。还描述了将此工作集成到LHC实验可用的生产版本中的状态和前景,具有与当前Fortran版本相同的功能和非常相似的用户界面。
Event generators simulate particle interactions using Monte Carlo techniques, providing the primary connection between experiment and theory in experimental high energy physics. These software packages, which are the first step in the simulation worflow of collider experiments, represent approximately 5 to 20% of the annual WLCG usage for the ATLAS and CMS experiments. With computing architectures becoming more heterogeneous, it is important to ensure that these key software frameworks can be run on future systems, large and small. In this contribution, recent progress on porting and speeding up the Madgraph5_aMC@NLO event generator on hybrid architectures, i.e. CPU with GPU accelerators, is discussed. The main focus of this work has been in the calculation of scattering amplitudes and "matrix elements", which is the computational bottleneck of an event generation application. For physics processes limited to QCD leading order, the code generation toolkit has been expanded to produce matrix element calculations using C++ vector instructions on CPUs and using CUDA for NVidia GPUs, as well as using Alpaka, Kokkos and SYCL for multiple CPU and GPU architectures. Performance is reported in terms of matrix element calculations per time on NVidia, Intel, and AMD devices. The status and outlook for the integration of this work into a production release usable by the LHC experiments, with the same functionalities and very similar user interfaces as the current Fortran version, is also described.