首页 > 信息互动 > > 正文
2021-08-07 20:24:25

应对峰会动荡的新并行战略

导读 互联网是高科技的产物,是历史发展、社会进步、人类智慧的结晶;是人类迄今所拥有的容量最大、内容最广、传递速度最快的信息中心。全球每天
互联网是高科技的产物,是历史发展、社会进步、人类智慧的结晶;是人类迄今所拥有的容量最大、内容最广、传递速度最快的信息中心。全球每天有四亿人使用互联网,上网人数占世界人口的百分之6.互联网为我们了解时事、学习知识、与人沟通、休闲娱乐等提供了便捷的条件,接下来这篇文章给大家说说互联网科技的一角。

湍流是流体无序运动的状态,是一个非常复杂的科学难题。 湍流渗透到科学和工程中的许多应用,包括燃烧、污染物迁移、天气预报、天体物理学等。 模拟湍流的科学家面临的挑战之一在于他们必须捕捉到广泛的尺度才能准确地理解这一现象。 这些尺度可以跨越几个数量级,并且很难在现有计算资源的约束下捕获。

当与正确的科学代码配对时,高性能计算可以抵御这一挑战;但是,模拟超出当前技术状态的问题大小的湍流需要与顶级异构平台协同的新思维。

由佐治亚理工学院航空航天工程和机械工程教授杨P.K.领导的一个小组使用他的小组的新代码,极端尺度湍流模拟GPU,对湍流进行直接数值模拟。 DNS能够准确地捕捉来自广泛尺度的细节. 今年早些时候,该团队在橡树岭领导计算设施(OLC F)为IBMAC922峰会超级计算机开发了一种新的算法。 随着新算法的出现,团队在超过6万亿个空间网格点上达到了每个时间步长不到15秒的墙钟时间的性能-这是一项新的世界记录,超过了该领域在问题大小方面的现有技术水平。

该小组在峰会上进行的模拟预计将澄清有关快速搅动湍流流体流动的重要问题,这将对发动机和其他类型推进系统中反应流的建模产生直接影响。

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

FFT是一种数学算法,它计算信号(或字段)从其原始时间或空间域到频率(或波数)空间中的表示的转换-反之亦然。 杨用数学和科学计算中称为“伪谱法”的方法,广泛地应用大量的FFT来精确地求解流体动力学的基本偏微分方程纳维尔-斯托克斯方程。

大多数使用基于CPU的大规模并行性的模拟将划分一个三维解域,或计算流体流动的空间体积,沿着两个方向进入许多长的“数据盒”或“铅笔”。 然而,当Yeung的团队在2017年底的OLCFGPU Hackathon与IBM研究人员David Appelhans导师会面时,该团队构思了一个创新的想法。 他们将结合两种不同的方法来解决这个问题。 它们将首先将三维域划分为一个方向,在峰会的大内存CPU上形成一些数据“板”,然后使用峰会的GPU在每个板内进一步并行化。

该团队确定了基本CPU代码中最耗时的部分,并着手设计一种新的算法,该算法将降低这些操作的成本,推动尽可能大的问题大小的限制,并利用世界上最强大和最聪明的开放科学超级计算机峰会独特的以数据为中心的特性..

Appelhans说:“我们设计了一个层次并行算法,以确保它能在层次系统上很好地工作。” 我们在一个节点上设置了两个板,但是由于每个节点都有6个GPU,所以我们把每个板拆了,把这些单独的块放在不同的GPU上。

在过去,铅笔可能已经分布在许多节点之间,但团队的方法利用了Summit的节点上通信和它的大量CPU内存,以适应单个节点上的整个数据板。

杨洁篪说:“我们原本计划用GPU上的内存来运行代码,这将限制我们在较小的问题范围内。” 然而,在OLCF GPU Hackathon上,我们意识到CPU和GPU之间的NVLink连接非常快,我们实际上可以最大限度地利用每个节点512G CPU内存。

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

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

凝聚成成功

该团队成功的关键因素之一是格鲁吉亚技术团队长期拥有的领域科学专业知识与Appelhans的创新思维和对机器的深入了解之间的完美契合。

这一成就的另一个关键因素是,由Argonne和Oak Ridge领导计算设施联合管理的创新小说和计算对理论和实验的影响方案以及2019年首脑会议早期科学方案提供的OLCF早期接入提升和Summitdev系统以及对首脑会议的百万节点小时分配。

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

该项目的格鲁吉亚技术博士生Kiran Ravikumar将在2019年超级计算会议SC19的技术方案中介绍算法的细节。

该团队计划使用该代码进一步深入研究湍流的奥秘;他们还将在未来将其他物理现象引入代码中,如海洋混合和电磁场。

Yeung说:“这一准则及其未来版本将为湍流科学的重大进展提供令人兴奋的机会,对湍流在许多自然和工程环境中的混合具有一般性的见解。”