We present Shamrock, a performance portable framework developed in C++17 with the SYCL programming standard, tailored for numerical astrophysics on Exascale architectures. The core of Shamrock is an accelerated parallel tree with negligible construction time, whose efficiency is based on binary algebra. The Smoothed Particle Hydrodynamics algorithm of the Phantom code is implemented in Shamrock. On-the-fly tree construction circumvents the necessity for extensive data communications. In tests displaying a uniform density with global timesteping with tens of billions of particles, Shamrock completes a single time step in a few seconds using over the thousand of GPUs of a super-computer. This corresponds to processing billions of particles per second, with tens of millions of particles per GPU. The parallel efficiency across the entire cluster is larger than $\sim 90\%$.
翻译:本文介绍了Shamrock——一个基于C++17与SYCL编程标准开发的性能可移植框架,专为E级计算架构上的数值天体物理学而设计。Shamrock的核心是一个构建时间可忽略的加速并行树结构,其效率基于二元代数运算。该框架实现了Phantom代码中的平滑粒子流体动力学算法。实时树构建机制避免了大范围数据通信的需求。在采用全局时间步长、包含数百亿粒子的均匀密度测试中,Shamrock利用超级计算机的数千个GPU,仅需数秒即可完成单个时间步的计算。这相当于每秒处理数十亿粒子,每个GPU可处理数千万粒子。整个集群的并行效率超过$\sim 90\%$。