The evolution of the computing landscape has resulted in the proliferation of diverse hardware architectures, with different flavors of GPUs and other compute accelerators becoming more widely available. To facilitate the efficient use of these architectures in a heterogeneous computing environment, several programming models are available to enable portability and performance across different computing systems, such as Kokkos, SYCL, OpenMP and others. As part of the High Energy Physics Center for Computational Excellence (HEP-CCE) project, we investigate if and how these different programming models may be suitable for experimental HEP workflows through a few representative use cases. One of such use cases is the Liquid Argon Time Projection Chamber (LArTPC) simulation which is essential for LArTPC detector design, validation and data analysis. Following up on our previous investigations of using Kokkos to port LArTPC simulation in the Wire-Cell Toolkit (WCT) to GPUs, we have explored OpenMP and SYCL as potential portable programming models for WCT, with the goal to make diverse computing resources accessible to the LArTPC simulations. In this work, we describe how we utilize relevant features of OpenMP and SYCL for the LArTPC simulation module in WCT. We also show performance benchmark results on multi-core CPUs, NVIDIA and AMD GPUs for both the OpenMP and the SYCL implementations. Comparisons with different compilers will also be given where appropriate.
翻译:计算机技术的发展导致了各种不同的硬件体系结构的出现,不同的GPU和其他计算加速器被广泛应用。为了在异构计算环境中高效利用这些架构,一些编程模型可用于在不同的计算系统之间实现可移植性和性能,如Kokkos、SYCL、OpenMP等。作为高能物理计算卓越中心(HEP-CCE)项目的一部分,我们通过几个代表性应用例子,探讨这些不同的编程模型是否适用于实验高能物理(HEP)工作流程。其中一个这样的应用是液体氩时间投影室(LArTPC)模拟,这对于LArTPC探测器的设计、验证和数据分析至关重要。在之前使用Kokkos将LArTPC模拟引入GPU的研究基础之上,我们探索了OpenMP和SYCL这两个可移植编程模型,以期使LArTPC模拟能够适应各种计算资源。在这项工作中,我们描述了如何利用OpenMP和SYCL的相关功能来实现WCT中的LArTPC模拟模块。我们还展示了OpenMP和SYCL的多核CPU、NVIDIA和AMD GPU的性能基准测试结果。在适当的情况下,还将给出不同编译器的比较结果。