/ 中存储网

在Summit超级计算机上的揣流计算破世界纪录

2019-11-17 23:05:50 来源:中存储

乔治亚理工学院的研究人员使用一种新的湍流模拟算法,在Summit超级计算机上取得了世界纪录的性能。

湍流是一种紊乱的流体运动状态,是一个非常复杂的科学难题。湍流渗透到科学和工程领域的许多应用中,包括燃烧,污染物运输,天气预报,天体物理学等等。模拟湍流的科学家面临的挑战之一是,为了准确理解这一现象,必须捕获各种尺度。这些规模可能跨越几个数量级,并且可能难以在可用计算资源的限制内捕获。

当与正确的科学代码搭配使用时,高性能计算可以应对这一挑战。但是,要以超出当前技术水平的问题规模模拟湍流,就需要与一流的异构平台协同工作,进行新的思考。

由佐治亚理工学院航空航天工程和机械工程学教授PK Yeung领导的团队使用其团队的新代码GPU(用于极端尺度湍流模拟(GESTS))执行了湍流的直接数值模拟(DNS)。DNS可以准确地捕获各种规模的细节。今年早些时候,该团队在Oak Ridge领导力计算设施(OLCF)上开发了针对IBM AC922 Summit超级计算机进行了优化的新算法。借助新算法,该团队在每个时步上的挂钟时间不到15秒,在超过6万亿个网格点上的性能达到了新的世界纪录,在规模上超过了该领域的现有技术水平。问题。

预计该团队在Summit上进行的模拟将阐明有关快速搅动湍流的重要问题,这将直接影响发动机和其他类型推进系统中反应流的建模。

GESTS是OLCF加速应用程序准备中心的计算流体动力学代码,该中心是美国能源部(DOE)橡树岭国家实验室的科学部用户设施办公室。GESTS的核心是一种基本的数学算法,可在三个空间方向上计算大规模的分布式快速傅立叶变换(FFT)。

FFT是一种数学算法,可计算信号(或场)从其原始时域或空间域到频率(或波数)空间中的表示的转换,反之亦然。在数学和科学计算中称为“伪谱方法”的方法中,Yeung广泛地应用了大量FFT,以精确求解流体动力学的基本偏微分方程Navier-Stokes方程。

使用基于CPU的大规模并行处理的大多数模拟会将3D解决方案域或计算流体流的空间量沿两个方向划分为许多长的“数据框”或“铅笔”。但是,当Yeung的团队在IBM的导师David Appelhans(IBM研究人员)于2017年底发起了OLCF GPU黑客马拉松,该团队提出了一个创新想法。他们将结合两种不同的方法来解决该问题。他们将首先在一个方向上划分3D域,在Summit的大内存CPU上形成多个数据“平板”,然后使用Summit的GPU在每个平板内进一步并行化。

该团队确定了基本CPU代码中最耗时的部分,并着手设计一种新算法,该算法将降低这些操作的成本,将可能出现的最大问题规模推向极限,并利用以数据为中心的独特优势全球开放式科学中功能最强大,最智能的超级计算机Summit的特点。

我们将该算法设计为分层并行性之一,以确保它在分层系统上能很好地工作。” Appelhans说。“我们在一个节点上最多放置两个平板,但是由于每个节点都有6个GPU,因此我们将每个平板拆开,然后将这些单独的片段放到不同的GPU上。”

过去,铅笔可能已经分布在许多节点上,但是该团队的方法利用了Summit的节点间通信及其大量的CPU内存来将单个节点上的整个数据板容纳起来。

我们最初计划在内存位于GPU上的情况下运行代码,这将我们限制在较小的问题大小上。” “但是,在OLCF GPU黑客马拉松上,我们意识到CPU和GPU之间的NVLink连接是如此之快,以至于我们实际上可以最大限度地利用每个节点512 GB CPU内存。”

这一实现促使团队将部分主要代码(内核)改编为GPU数据移动和异步处理,从而允许计算和数据移动同时发生。创新的内核改变了代码,使团队能够以比以往更快的速度解决比以往更大的问题。

该团队的成功证明,当代码开发人员将异构体系结构集成到算法设计中时,即使是大型的,以通信为主导的应用程序也可以从世界上功能最强大的超级计算机中受益匪浅。

凝聚成成功

团队成功的关键因素之一是佐治亚理工学院团队长期拥有的领域科学专业知识与Appelhans的创新思维和对机器的深刻了解之间的完美契合。

对成就也至关重要的是OLCF的早期访问Ascent和Summit开发系统,以及由Argonne和Oak Ridge共同管理的创新小说和对理论与实验的计算(INCITE)计划为Summit提供的百万节点小时分配领导力计算设施,以及2019年的Summit早期科学计划。

OLCF的工具开发人员Oscar Hernandez帮助团队在整个项目中应对挑战。这样的挑战之一就是弄清楚如何结合多个GPU在CPU上运行每个并行进程(遵循消息传递接口[MPI]标准)。通常,一个或多个MPI进程与一个GPU绑定在一起,但是该团队发现,每个MPI进程使用多个GPU可使MPI进程发送和接收的消息数量比团队最初计划的数量少。Hernandez使用OpenMP编程模型,帮助团队减少了MPI任务的数量,提高了代码的通信性能,从而进一步提高了速度。

该项目的乔治亚理工学院博士生Kiran Ravikumar将在SC19的技术程序中介绍该算法的详细信息。

团队计划使用该代码进一步打入湍流之谜。将来他们还将在代码中引入其他物理现象,例如海洋混合和电磁场。

该法规及其未来版本将为湍流科学的重大进步提供令人振奋的机遇,其普遍见解取决于在许多自然环境和工程环境中的湍流混合。”

相关出版物:K. Ravikumar,D。Appelhans和PK Yeung,“使用异步性对湍流进行极端尺度伪谱模拟的GPU加速”。论文将在丹佛SC19上发表。

资料来源:ORNL