利用 OP2 加速全尺寸工业 CFD 应用
计算工程、金融与科学
2017-09-08 v1 性能
摘要
Hydra 是 Rolls Royce plc 用于涡轮机械设计的全面工业 CFD 应用。它包含超过 300 个并行循环,代码库超过 5 万行,能够在高度详细的非结构化网格几何体上执行复杂模拟。与在现代处理器架构(如多核和多核处理器系统)加速时表现出高加速比的简单结构化网格应用不同,Hydra 在数据组织和移动方面面临重大挑战,需要克服这些挑战才能在新兴平台上保持高性能。我们展示了通过 OP2 领域特定高级框架实现这一目标的研究。OP2 针对非结构化网格问题领域,遵循活动库的设计,使用源到源翻译和编译,从单个高级应用源代码生成多种并行实现,以便在各种后端硬件平台上执行。我们记录了将 Hydra 从其原始手工调优的生产版本转换为利用 OP2 的版本的过程,并描绘了过程中遇到的关键困难。据我们所知,这项研究首次展示了此类高级框架在全尺寸生产代码中的应用。具体而言,我们展示了 (1) 即使对于像 Hydra 这样高度复杂的工业应用,如何通过活动库框架实现不同的并行实现,以及 (2) 如何无缝地将针对不同并行架构的各种优化应用于整个应用,从而减少开发人员的工作量并延长代码寿命。性能结果表明,不仅可以达到与手工调优的原始生产代码相同的运行时性能,而且可以在传统处理器系统上显著提高性能。此外,我们实现了进一步的...
引用
@article{arxiv.1403.7209,
title = {Acceleration of a Full-scale Industrial CFD Application with OP2},
author = {István Z. Reguly and Gihan R. Mudalige and Carlo Bertolli and Michael B. Giles and Adam Betts and Paul H. J. Kelly and David Radford},
journal= {arXiv preprint arXiv:1403.7209},
year = {2017}
}
备注
Submitted to ACM Transactions on Parallel Computing