新闻动态
News
首页 > 新闻动态
返回

[重磅] HPC 应用对GPU计算支持现状解析


2018-1-8


     来源:架构师技术联盟

     作者:Hardy

     链接:http://mp.weixin.qq.com/s/JlZCZ7CwTWyWGgTQPNVA9Q


    HPC 应用支持 GPU 计算的增长几乎完全是由英伟达(NVIDIA)推动的,该公司在构建一个健壮的软件生态系统以支持其在硬件方面的投入。具体来说,通过开发了一套并行编程 API、库和相关的软件开发工具 CUDA(Compute Unified Device Architecture)支持 GPU 平台的应用程序开发,包括 OpenCL 开放的标准框架、各种处理器架构加速和 OpenACC(高级语言的标准编译器指令)。NVIDIA 还在全球建立了超过 20 个 GPU 中心,数百个学术机构的 GPU 研究和教育中心的全球网络,提高通用 GPU 编程软件工具开发的速度,通过与 ISV 合作加速完善商业 HPC 应用程序和开发库。


    随着人工智能(AI)的出现,许多组织都在投入深度学习技术,将人工智能的发展和技术带到他们的产品、服务或运营中,然而这些算法通常依赖于 GPU,AI 已经成为 NVIDIA 的主要增长引擎。


    在 HPC 应用支持 GPU 计算调查中,著名咨询机构 Intersect360 要求用户列出他们的顶级 HPC 应用程序(5个站点内)。然后用这些数据来统计最多常用的 HPC 应用程序。在 2017 年第三季度收集的数据中,1792 个统计程序中共有 534 个不同的应用程序。


      HPC 本质上是一个多元化的市场,应用程序跨越多个领域。本报告将重点关注在 HPC 用户站点普查中所报告的前 50 个应用程序,按次数排序。为了将应用列表限制在 50(其中有 2 个统计并列 49 位),从每个主要应用场景中选择了 2 个应用程序。高性能计算(HPC)跨越了技术和业务领域等一系列应用领域。在大多数领域中都存在 GPU 加速应用程序,包括化学研究,流体动力学分析,结构分析,环境建模,地球物理学,可视化/图像处理和物理。


[重磅] HPC 应用对GPU计算支持现状解析(图1)

[重磅] HPC 应用对GPU计算支持现状解析(图2)


    在 HPC 应用支持 GPU 计算报告中,咨询机构 Intersect360 列出了 50 个最常用的高性能计算(HPC)应用程序,识别出目前采用 GPU 加速的应用程序。根据对最新 HPC 用户站点普查数据和研究发现,HPC 用户用到的 50 个最流行的应用程序中有 34 个提供 GPU 支持,另外 2 个应用目前正在开发中。前 15 个应用程序目前都通过某种形式实现对 GPU 支持。在 HPC 市场上,GPU 计算已经达到了一个临界点,这将预示着 HPC 应用程序采用 GPU 优化将成为主流。


化学领域


    化学是最常见的 HPC 应用领域之一,有组织使用 HPC 系统了解化合物和过程,根据这种理解设计新的物质为今后的研究和产品开发提供信息。包括计算化学,分子建模,和质谱数据分析。


2-210Q112031Q33.jpg


    前 50 名 HPC 应用中有 20 个应用于化学。这种 HPC 软件受欢迎的原因是生物分子研究和开发新化合物的兴趣所驱动的。如表 2 所示,GPU 对顶级化学编码的支持非常深入的,这在很大程度上要归功于该应用领域中,大量的开源代码和活跃的开发者的贡献。因此,20 个化学应用中有 16 个目前可以使用 GPU 加速,包括排在前 15 名的 HPC 应用。


流体动力学分析


    计算流体动力学(CFD)的解决方案目前异常广泛的被应用,如:飞机设计,内燃机设计,建筑物气流分析,心脏泵的设计,细胞内蛋白质运输的建模等等。与结构分析领域类似,这些应用主要来自商业代码捐献,但最初的代码来自 NASA 开发和开源的努力。在 HPC 中,作为前十大应用程序的OpenFOAM 的出现,预示着整个行业向开源代码的方向发展。


2-210Q1120535959.jpg


    如表 3 所示,这两种最流行的 CFD 应用,ANSYS Fluent 和 OpenFOAM 使用 GPU 的支持。


结构分析


    结构分析包括用于分析各种结构的应用程序,包括显式和隐式有限元分析(FEA),是用于工程分析的重要计算工具。它主要是用来对结构的负载和压力进行分析,包括用于汽车的虚拟崩溃测试。


2-210Q1120G9237.jpg

    表 4 描述了前 50 个 HPC 应用程序中的 8 个结构化分析应用。8 个中有 7 个已经支持 GPU 计算。


生物科学


    生物科学应用是用来揭示生命的本质、并帮助设计医学治疗方案的学科。他们也用于了解和提高农业生产。这部分包括基因组学等应用,蛋白质组学,药物发现等等。由于基因组学的快速发展,带动分析基因和细胞的生物信息学软件快速发展, 使得基因组学驱动整个生命科学发展。


2-210Q1121141628.jpg


    如表 6 所示,在生命科学领域,GPU 计算应用已经落后于其他领域,然而,BLAST 应用有个 GPU 版本,被称为 GPU-BLAST,现在已在研究领域使用,还有一个 GPU 加速版本的 Bowtie,作为 NVIDIA 实验室项目在运作。


    表 7 列出了剩余的前 50 个 HPC 应用程序及其域。2 个商业智能领域,2 个天气预报和环境建模领域,1 个物理和 1 个模式识别领域。


2-210Q112142K40.jpg


天气、环境建模


    环境建模包括用于模拟天气、气候、空气质量和海洋的应用程序系统。天气预报的潜在用途包括从挽救生命和财产到先进的严重天气警报,预测野火,通过预测能源需求来管理电网,根据天气预报来估计当地超市对产品的需求。


商业智能


      SAP 和 Oracle 出现在前 50 名 HPC 应用程序的列表中。在业务计算、HPC、甚至科学应用程序之间通过有一些交叉,随着分析领域的迅速发展通过数据库解决一些问题。SAP 和 Oracle 都有 GPU 加速版本。SAP 和 Oracle 正在布局未来,为企业客户开发 AI 优化的模块,计划把深度学习应用到 GPU 计算。


物理应用


    物理包括用于建模行为中涉及的基本原理的应用程序,物质和能量。该领域的范围涵盖从宇宙演化的宇宙模型,到量子力学的亚原子水平的物质。物理学家是 HPC 的首批用户之一。


模式识别


    模式识别是深度学习的基础。模式识别应用程序可以从大量的训练中学习数据,以便能够从类似的数据中做出推断。TensorFlow 是最常用的应用程序,深度学习与 GPU 计算有很强的亲和力,而TensorFlow 则可以通过 GPU 实现加速和优化。


上一篇:卓越非凡 引领未来 容天人工智能与大数据 AIX 系列