GPU 在高性能仿真计算中的应用
一、什么是 GPU?
首先需要解释 CPU 和 GPU 这两个缩写分别代表什么。CPU 即中央处理器,GPU 即图形处理器。其次,要解释两者的区别,要先明白两者的相同之处:两者都有总线和外界联系,有自己的缓存体系,以及数字和逻辑运算单元。一句话,两者都为了完成计算任务而设计。
两者的区别在于存在于片内的缓存体系和数字逻辑运算单元的结构差异:CPU 虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU 的核数远超 CPU,被称为众核(NVIDIA Fermi 有 512 个核)。每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单(GPU 初始时在浮点计算上一直弱于 CPU)。
从结果上导致 CPU 擅长处理具有复杂计算步骤和复杂数据依赖的计算任务,如分布式计算,数据压缩,人工智能,物理模拟,以及其他很多很多计算任务等。GPU 由于历史原因,是为了视频游戏而产生的(至今其主要驱动力还是不断增长的视频游戏市场),在三维游戏中常常出现的一类操作是对海量数据进行相同的操作,如:对每一个顶点进行同样的坐标变换,对每一个顶点按照同样的光照模型计算颜色值。
GPU 的众核架构非常适合把同样的指令流并行发送到众核上,采用不同的输入数据执行。在 2003-2004 年左右,图形学之外的领域专家开始注意到 GPU 与众不同的计算能力,开始尝试把 GPU 用于通用计算(即 GPGPU)。
GPU 加速计算是指同时采用图形处理单元(GPU) 和 CPU,以加快科学、分析、设计、消费者和企业应用程序的速度。GPU 加速器与 2007 年由 NVIDIA 率先推出,现已在世界各地为政府实验室、大学、公司以及中小型企业的高能效数据中心提供支持。GPU 能够为从汽车、手机和平板电脑到无人机和机器人等平台的应用程序加快速度。
总之,GPU 的作用如下:
GPU 最早用于提升图形计算的性能,增加图形质量。
现今 GPU 已经不局限于图形处理,还可以用于并行计算的加速。
二、GPU 在 ANSYS 高性能仿真模拟中的应用
计算机辅助工程(CAE)模拟让工程师能够设计更多的虚拟原型产品,因而在打造物理原型产品上花费的时间更少。更多次的反复设计可以成就更高质量的产品,通过加速模拟,GPU 能够进一步提高生产率,从而有助于缩短产品开发时间,为企业带来更具竞争力的优势。
ANSYS 与 NVIDIA 密切合作,以确保在 ANSYS 并行软件上运行的模拟能够达到性能。NVIDIA GPU 支持下列产品:
结构:ANSYS Mechanical 17.0 支持全套特性,其中包括在多颗 GPU 上运行。
流体:ANSYS Fluent 17.0 能够为基于压力的耦合解算器和辐射传热模型提供 GPU 支持。
电磁:ANSYS HFSS 17.0 支持瞬态流动仿真计算瞬时求解器。
现在利用 NVIDIA GPU 加速 ANSYS 模拟比以往任何时候都更加容易。在 17.0 版本中,所有的 HPC 许可产品(HPC、HPC Pack、HPC Workgroup)均支持 GPU。具体而言,在许可证要求这方面,每一路 GPU 被视为一个 CPU 核心。如此一来,利用现有 HPC 许可证再加上 NVIDIA GPU,即可大幅提升模拟生产率,从而能够完成更多模拟工作。
三、GPU 在 ANSYS 高性能仿真模拟中的成功应用案例
案例 1
当使用 NVIDIA Tesla K20 或的 Tesla K40 GPU 时,ANSYS Mechanical 17.0 可实现大幅性能提升。 在下面的标准 ANSYS Mechanical 基准测试中看一看性能结果。
利用工作站中的 NVIDIA Tesla K40,ANSYS Mechanical 用户在大型模型上可实现更高的吞吐量。单块 K40 计算卡可加速 12M 自由度的大型模型,与单纯使用 CPU 相比可实现 2 倍性能提升。
案例 2
ANSYS Fluent 17.0 现已支持多 GPU,能够在 CFD 模拟中实现更高的生产率。 这种性能增强归功于创新的 GPU 加速求解器和 ANSYS 17.0 中全新的许可方案,该求解器(叫做 AmgX)由 NVIDIA 和 ANSYS 合作开发。Fluent 17.0 中的当前软件能够加速基于压力的耦合流体求解器,从而可加快 CFD 模拟的流体部分。 只要为现有的 HPC 基础架构添加 Tesla K20、Tesla K20X 或 Tesla K40 GPU,即可享受到这些好处。它经专门设计,可在集群配置中具备多颗 GPU 的多个节点上运行,就像在 CPU 系统上运行一样。
下列图表对比了 Tesla K40 GPU 与 CPU 在 ANSYS Fluent 15.0 中的性能,软件是在集群上运行的,所模拟的是一种大型空气动力学情形。
4、总结
高性能计算(HPC&GPU)是未来仿真计算的发展趋势,将作为国家竞争力的重要标志之一。
GPU 作为推动高性能计算的驱动力,是高性能、低功耗的完美结合。
评论