论文标题
在通往Exascale的道路上磨练和验证天体物理代码。代码现代化在多核系统上的经验
Honing and proofing Astrophysical codes on the road to Exascale. Experiences from code modernization on many-core systems
论文作者
论文摘要
现代和即将到来的计算体系结构的复杂性对代码开发人员和应用程序专家构成了严重的挑战,并迫使他们揭露最高的并行程度,以便充分利用可用的硬件。第二代的intel $^{(r)} $ xeon phi $^{(tm)} $(代码为“命名为骑士的降落”,因此,KNL)是最新的多核系统,它实现了几个有趣的硬件功能,例如每个节点大量核心(最多72个),512位钻头范围内的Vector vector vector Conborters和after-bits vector Conborters和the the-Band-Band-Band-Band-Band-Bands-Bands-the the the the the the the the-Bandsw. KNL的独特功能使该平台成为现代HPC应用程序的强大测试。因此,KNL上的代码的性能是他们准备未来架构的有用代理。在这项工作中,我们描述了在广泛使用的计算天体物理学P-GADGET-3,FLASH和ECHO的广泛使用代码期间所学的经验教训。此外,我们介绍了可视化和分析工具访问和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.