GPU为HPC和深度学习提供强大加速动力

  2015年全国高性能计算学术年会(HPC China 2015)今日在无锡开幕。全球视觉计算的行业领袖NVIDIA(英伟达)及应用其GPU的众多企业和科研机构,带来近20场报告和演讲,针对GPU的最新技术以及GPU在科学计算、大数据分析、深度学习乃至自动驾驶汽车领域的应用和创新,做了深度解读和分享。随着深度学习爆发式发展,GPU成为HPC 领域受关注的焦点。

  在大会首日上午的特邀报告中,NVIDIA解决方案工程架构副总裁Marc Hamilton提到:“在NVIDIA的推动下,过去7年间整个加速计算领域获得了10倍的增长,NVIDIA的GPU加速器占据了加速器市场85%的份额。同时在GPU的驱动下全球和中国都掀起了深度学习热潮,GPU也已成为深度学习研究的首选技术平台。此次大会我们非常高兴地看到GPU帮助了众多企业和研究机构在HPC和深度学习领域实现大量创新应用,相信我们将于明年面世的下一代GPU架构Pascal和NVLink高速互联技术,将为数据中心和深度学习提供更加强大的加速动力。”

GPU为HPC和深度学习提供强大加速动力

  “后摩尔定律”时代 GPU提供强大加速动力

  计算核心并没有越来越快,只不过处理器正朝着并行化的方向发展。如今我们已步入了“后摩尔定律时代”,处理器单线程性能的增速放缓,逻辑核心数量则在不断增加,由CPU和加速器构成的加速计算体系,成为整个计算领域的必然趋势。

  目前,加速器发展势头迅猛,自2010年到今天的短短几年时间,全球超级计算机TOP 500榜单中采用加速器的系统就已经达到90台。同时,最常用的50款HPC应用中有70%已支持加速器加速。

  NVIDIA在整个加速计算领域中居于主导地位,其推出的Tesla GPU加速器和CUDA?并行计算架构,在过去7年中引领了加速计算领域10倍以上的增长,例如支持CUDA的应用数量从27款增长至334款,Tesla GPU加速器的使用量从6,000个增加至45万个,占据整个加速器市场85%的份额。

  2008年全球首台GPU超级计算机即由Tesla GPU加速器驱动,随后几年内Tesla GPU加速器更成就多台顶级超级计算机,例如美国的泰坦系统。而当前美国基于Tesla GPU加速器正构建两台新一代超级计算机高峰和峰峦,将距离百亿亿次级计算目标更近一步。

  NVIDIA的Tesla GPU加速器还在2013年帮助科学家实现重大突破,首次确定了HIV"病毒衣壳"的准确化学结构。而如果不使用GPU,则需要5倍的处理器规模才能达到近似的性能;Tesla GPU加速器还可显著提升成本效益,例如谷歌大脑系统在使用Tesla加速器后,性能提升到之前的6倍,而能耗却从原先的600千瓦降低到4千瓦。

  高密度GPU服务器也已成为主流,Cray、DELL、HP以及Quanta都已推出支持Tesla GPU加速器的产品,可为HPC客户提供直接、完整的解决方案。

  围绕Tesla GPU加速器和CUDA并行计算架构,NVIDIA推出了Tesla加速计算平台,专门针对大数据分析与科学计算领域的密集型计算需求,构建了一个由软件开发者、软件供应商以及数据中心系统OEM厂商组成的综合生态系统。Tesla平台可为高性能计算专业人士提供所需的工具,使其能够在数据中心轻松地打造、测试和部署加速的应用。

GPU为HPC和深度学习提供强大加速动力

  当前Tesla加速计算平台的最新旗舰是Tesla K80双GPU加速器,它可提供最快的数据分析和科学计算性能,被众多对计算有较高要求的企业和研究机构列为首选升级方案。Tesla K80拥有带宽极高的24GB内存、高达8.74TFlops的单精度峰值浮点性能和高达2.91 TFlops的双精度峰值浮点性能。在数百款HPC应用中,Tesla K80比当今最快CPU快10倍。

  得益于优秀的性能表现,Tesla K80已开始在全球得到广泛应用。瑞士联邦气象气候局利用基于Tesla K80的超级计算机,将气象模型解析度和能源使用效率分别提升到之前的两倍和三倍。同时,Tesla K80也在各项超算大赛中发挥重要优势,帮助清华大学先后在今年ASC和ISC两次超算大赛中获得总冠军。也因此让Tesla GPU加速器公认成为在超算大赛中获得优胜的首选加速方案。

  作为能够让开发人员轻松为应用实现GPU加速的并行编程标准,NVIDIA一直推动其在HPC领域中的普及,并促进其在更多的加速器平台和CPU架构上的应用。目前全球已经有超过8,000名研究人员在采用OpenACC。NVIDIA在今年推出的OpenACC工具包可以帮助开发人员快速利用OpenACC实现应用加速;在上月末推出的新增对x86多核CPU的OpenACC支持的新版PGI加速器编译器,让开发者能够对基于OpenACC的源代码进行编译,使其可以在多核CPU或GPU加速器上并行执行,为开发者带来巨大的灵活性。