基于光滑粒子流体动力学方法的大规模异构并行与应用

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:bbshisegui
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
高性能计算能力的发展已经全面进入千万亿次时代,这给数值模拟带来了巨大的机遇,同时也带来了全新的挑战。高性能计算硬件体系架构的现状是,一方面系统总体规模不断扩大,计算节点数已经达到10万的量级;另一方面,节点内集成的并发度越来越高,越来越复杂,多核CPU已经被普遍采用,GPU等众核协处理器也越来越受到欢迎。高性能数值模拟软件的设计与实现应当关注超大规模异构并行的需求。  近年来新兴的无网格粒子方法,形成了对传统的有限元等网格类数值算法的有效补充,在极端大变形、自由表面、流固耦合、非连续运动等问题上具有独特的优势。光滑粒子流体动力学(SPH)方法是一种极具代表性的无网格粒子方法,已经广泛应用于天体物理学、流体动力学、爆炸、高速冲击等问题领域。  SPH方法的GPU加速进展经历了热点加速、全GPU加速、多GPU加速的阶段,当前存在的主要问题是:(1)绝大多数SPH-GPU实现都是基于简化的Euler控制方程,完整的Navier-Stokes方程的GPU实现非常少,且对其存在的根本性困难、优化策略、加速效果等问题还缺乏探讨;(2)目前主流的SPH-GPU加速方案主要侧重GPU资源的高效利用,浪费了CPU资源,多核CPU与众核GPU对等协同模式尚无相关探讨和实现,不能充分利用异构平台的整体计算能力;(3)目前SPH的多GPU并行局限在数十、上百张卡的规模,缺乏千万亿次大规模计算的扩展能力:负载平衡策略主要基于几何剖分法,实现简单但划分效果不佳;通信优化策略主要集中于MPI通信环节,没有考虑对完整通信路径的优化,如PCIE通信、数据打包解包、GPU端对通信粒子的预处理和后处理等环节。  本文面向无网格粒子类方法在固体力学(含流-固拉氏耦合)领域的精细建模与高分辨率模拟需求,针对Navier-Stokes方程的SPH格式,自主研发千万亿次无网格粒子模拟程序petaPar及其异构高效并行版本。论文的创新点如下:  1.建立了具有应用普适性的Navier-Stokes方程SPH格式的高效异构协同模式。针对Navier-Stokes方程的SPH方法在GPU实现方面的困难,研究了三类异构协同模式,建立了最适合Navier-Stokes方程的异构协同计算模式——对等协同模式。该模式突破了传统的热点加速模式的理论加速比上限,避免了主流的全GPU加速模式对CPU资源的浪费,从理论上保证了Navier-Stokes方程的SPH方法在异构平台上的最优加速。  2.针对Navier-Stokes方程张量计算密集的特点,解决了固体力学SPH格式在异构平台上的有效加速问题。主要技术包含:(1)张量计算大Kernel的GPU优化策略,针对Navier-Stokes方程SPH张量计算密集的问题,结合算法特征,通过减少粒子属性、提取操作到粒子更新等方案,缓解了张量计算带来的cache不足、访存密集、寄存器溢出等压力,实现了58.9%的性能提升;(2)基于多级线程池的异构调度方法,解决了多核CPU与众核GPU内存分离和计算差异化(计算粒度、计算特征、计算瓶颈、优化手段等)的问题,实现了SPH方法每个迭代步内三个计算环节和两个通信环节的彻底并行,在三种不同配置的异构平台上,分别实现了理论值的81%、82.7%、86.2%的异构协同效率。  3.首次实现了Navier-Stokes方程SPH方法的1.6万CPU-GPU节点、亿亿次异构超级计算机Titan的全系统规模的高可扩展计算。针对与“大规模”和“异构特性”相关的挑战发展了若干关键技术:(1)细粒度图分解策略,其剖分效果优于传统的几何剖分方案,且兼顾节点间和节点内的二级任务划分,并自然地支持增量式动态负载平衡;(2)异构通信全路径优化策略,对GPU端通信粒子预处理和后处理、CPU端通信粒子的打包解包、PCIE通信、MPI通信等异构通信的各个环节进行了针对性的改进;(3)多进程多线程并行IO策略,消除了大规模粒子模拟在初始化、可视化、容错过程中的IO瓶颈。最终实现了16384个异构节点——26万CPU核与1.6万GPU卡——的协同计算,获得了91%的并行效率(相对32个异构节点)。据我们所知,类似规模的Navier-Stokes方程SPH格式的异构加速工作还未见报道。
其他文献
联邦数据库提供了对多种数据源进行统一访问的界面和方法,针对传统事务模型在联邦数据库的缺陷,给出了联邦数据库系统的事务模型,并使用数学的方法对其适宜性进行了评价.这个
本文主要是针对四足机器人的设计与应用进行研究,设计实现了一个专门用于四足机器人运动仿真的系统,主要包括以下几方面内容: 1、针对四足机器人的建模问题,设计了一种三维几
网络是系统工程的平台,系统工程是网络的应用对象和网络分析是系统工程的重要方法的认识,利用网络配流用户平衡与系统最优之间的关系,提出了网络规划和评价的一个宏观体系。在网
本文根据多个工程项目的实践经验,总结了顺序控制系统的设计要点和经验。并试图将软件工程中一些成功的理念应用于顺序控制系统的设计中,提出顺序控制设计的模块化思想,并对模块
学位
语言模型是自然语言处理的基础任务,它为语音识别、词性标注、信息抽取、自动问答、文本挖掘、机器翻译等众多自然语言处理综合应用提供了至关重要的支持作用。其中,基于统计的
在信息系统的构建中,传统的C/S结构会随着系统规模的扩大和应用的复杂性增加暴露出许多弊端,如数据库服务器负载过重、系统维护成本大幅度提高等。分布式组件技术是解决上述问题
J2EE系统的Web容器、EJB容器和客户端应用程序窗口,具体负责进行用户的认证和访问授权控制工作.容器的安全性控制是基于安全角色进行的.安全角色可以认为是一组权限的集合标
该文提出一种新的信息获取方式:以某种方式制造一个通信的汇聚点,然后在该汇聚点有选择的转发、修改或者生成某一个方向的通信内容,以此来影响另一个方向的通信内容,并有选择
论文中给出了针对最短片断算法改进的扩展布尔检索算法,提高了Web搜索引擎的检索精度.论述了跨语言信息检索的查询翻译模块,以及如何将这个模块结合到搜索引擎中,用以实现跨