在通往亿万年尺度的道路上打磨和校对天体物理学代码。众核系统代码现代化的经验
Honing and proofing Astrophysical codes on the road to Exascale. Experiences from code modernization on many-core systems
摘要:
现代和即将到来的计算架构的复杂性对代码开发人员和应用程序专家提出了严峻的挑战,并迫使他们暴露最高程度的并行性,以便最好地利用可用的硬件。第二代英特尔$^{(R)}$至强融核$^{(TM)}$(代号Knights Landing,以下简称KNL)是最新的众核系统,它实现了多个有趣的硬件功能,例如每个节点的大量内核(多达72个)、512位宽的矢量寄存器和高带宽内存。KNL的独特功能使该平台成为现代HPC应用程序的强大测试平台。因此,KNL上代码的性能是其为未来架构做好准备的有用代表。在这项工作中,我们描述了广泛使用的计算天体物理学P-Gadget-3,Flash和Echo的代码优化过程中吸取的教训。此外,我们提出的可视化和分析工具VisIt和YT的结果。这些示例表明,现代架构从不同级别的代码优化中受益,甚至超过传统的多核系统。然而,典型社区规范的现代化水平仍需提高,以充分利用新建筑的资源。
英文摘要:
The complexity of modern and upcoming computing architectures poses severe challenges for code developers and application specialists, and forces them to expose the highest possible degree of parallelism, in order to make the best use of the available hardware. The Intel$^{(R)}$ Xeon Phi$^{(TM)}$ of second generation (code-named Knights Landing, henceforth KNL) is the latest many-core system, which implements several interesting hardware features like for example a large number of cores per node (up to 72), the 512 bits-wide vector registers and the high-bandwidth memory. The unique features of KNL make this platform a powerful testbed for modern HPC applications. The performance of codes on KNL is therefore a useful proxy of their readiness for future architectures. In this work we describe the lessons learnt during the optimisation of the widely used codes for computational astrophysics P-Gadget-3, Flash and Echo. Moreover, we present results for the visualisation and analysis tools VisIt and yt. These examples show that modern architectures benefit from code optimisation at different levels, even more than traditional multi-core systems. However, the level of modernisation of typical community codes still needs improvements, for them to fully utilise resources of novel architectures.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。