中文

基于 Python 的天气与气候建模高效性能工程

分布式、并行与集群计算 2022-08-29 v2

摘要

地球系统模型的开发往往与目标硬件紧密耦合,常包含基于处理器特性而专门定制的代码。这种耦合源于使用命令式语言将计算调度与数据布局硬编码。我们详细介绍了优化有限体积立方球动力核(FV3)以提升生产力与性能的过程。通过使用声明式 Python 嵌入式 stencil 领域特定语言与数据中心优化,我们抽象了硬件相关细节,并定义了用于分析与优化天气和气候应用的半自动化工作流。该工作流结合了局部与全程序优化,以及用户引导的微调。为剪枝不可行的全局优化空间,我们通过一种新颖的迁移调优方法自动利用重复的代码模式。在 Piz Daint 超级计算机上,我们扩展至 2,400 个 GPU,以远少于原始代码的工作量实现了相较调优后生产实现最高 3.92 倍的加速。

关键词

引用

@article{arxiv.2205.04148,
  title  = {Productive Performance Engineering for Weather and Climate Modeling with Python},
  author = {Tal Ben-Nun and Linus Groner and Florian Deconinck and Tobias Wicky and Eddie Davis and Johann Dahm and Oliver D. Elbert and Rhea George and Jeremy McGibbon and Lukas Trümper and Elynn Wu and Oliver Fuhrer and Thomas Schulthess and Torsten Hoefler},
  journal= {arXiv preprint arXiv:2205.04148},
  year   = {2022}
}