对百亿亿次的追求:高性能计算的目标改变了吗?
高性能计算(HPC)领域近年来一直在追求百亿亿次系统,即能够每秒至少进行1亿亿次浮点运算的系统。在过去几年里,人们对人工智能(AI)和机器学习(ML)的兴趣在一定程度上被计算行业的噪音淹没了。百亿亿次的探索结束了吗?
人工智能这个词,就像“智能”这个词一样,已经融入了我们的文化,亚马逊和谷歌等互联网巨头已经将人工智能的触角延伸到了我们生活的每一个角落。在这一切的背后是巨大的计算资源,几年前这些资源还属于中央处理器(cpu)的领域,但今天NVIDIA及其图形处理单元(gpu)以及某种程度上的现场可编程门阵列(FPGA)在神经网络的新世界(如苹果的Siri)中占据主导地位。
gpu是通常为系统运行图形的处理器。CPU提供了系统的所有主要功能,比如运行Word或Excel,但不会绘图;这个任务被分配给GPU。当运行复杂的图形时,例如计算机辅助设计(CAD)或视频游戏,有必要运行专用的GPU。就在十多年前,人们发现这些gpu可以用于其他任务,而不仅仅是创建和渲染图像,它们可以用于加速复杂的计算。GPU是一个具有“固定”设计的固定电路。fpga类似于gpu,但不是固定的,而是可编程的,可以根据所加载的任务和编程进行更改。
gpu和fpga如何适应高性能计算?计算机芯片制造商并没有闲着。IBM的POWER9服务器与NVIDIA的图形处理器紧密集成,形成了一个计算引擎,将为地球上最快的两个系统——Summit和Sierra超级计算机提供动力,这两个超级计算机将于今年投入使用。
ARM正在进入传统的数据中心和高性能计算市场,因为镉ThunderX 2获得了牵引力。富士通已经计划使用ARM来驱动Post-K机预计在2020年,它将成为每秒1000千万亿次运算的野兽。
英特尔继续凭借其x86处理器在市场上取得进步,似乎已经放弃了Xeon Phi处理器,将Phi处理器的功能滚动到Xeon处理器中,例如AVX512功能。AVX512和AVX是处理器内部的一组指令,利用处理器的向量元素。英特尔收购了FPGA制造商Altera,这是英特尔迄今为止最贵的一笔收购。当然,这意味着fpga将在未来的英特尔产品中发挥重要作用。
这些项目都将受益于牢记百亿亿次级的目标,因为它们都消耗大量的电力。好消息是,我们可以看到每个项目都在以更小的包实现更好的性能。正如英伟达(NVIDIA)总裁兼首席执行官黄仁勋(Jensen Huang)所说:“你买的gpu越多,省的钱就越多。”他指的是英伟达的新款DGX-2,该产品用一个DGX-2系统取代了300台双cpu服务器。显然,潜在的节能规模是巨大的。
但仍然不是所有应用程序都适合移植到GPU使用。百亿亿次级将由多种处理器技术混合而成;一个由加速器辅助的CPU (gpu或其他东西),作为数据的gpu必须由承载系统的CPU提供给它们,并与系统的其余部分通信,管理存储等。
AI中使用的许多技术也可以用于HPC中,因为gpu、cpu和互连技术自然适用于HPC或AI应用程序。我相信,即使是fp16/fp32张量核,这种为深度学习应用进行优化的特殊处理器,也将在未来的应用中占有一席之地。
人工智能为高性能计算提供商和非计算熟练用户带来了一个新的用户类别。例如,英语研究人员想要扫描他们所有的文档,看看是否有特定的作者写了整篇工作,或者一个大学生是否抄袭了互联网上的文本。一个野生动物园最近采用了天体物理学的ML技术来识别遥远恒星的热和化学成分,这样他们就可以定位和计数隐藏在丛林中的濒危动物,并帮助野生动物保护区。AI和ML正在为传统上没有使用HPC的用户开辟新的计算途径。
所以回到我最初的问题,百亿亿次级结束了吗?百亿亿次的目标并没有消失,它似乎只是被人工智能的发展所掩盖。