人工智能正变得无处不在,全球最快的计算机上也在运行人工智能负载,这也在改变HPC(高性能计算,HighPerformanceComputing)。不过,人工智能将如何影响编程,软硬件以及和训练需求?
本文作者认为,AI可能是HPC历史上最大的变革推动者,至于为什么,他给出了AI在年对HPC产生最大影响的十大原因。
10、Tensors(张量):人工智能计算的通用语
向量代数的使用催生了为矢量计算设计的计算机。来自Cray的早期超级计算机是矢量超级计算机,它带动了应用程序以矢量和矩阵代数问题的方式表示,这反过来又推动了计算机的设计,确保矢量计算能更快运行。多年来,这种循环定义了HPC。
张量代数可以视为广义矩阵代数,因此它是超级计算机能力的自然演化,而不是一场革命。任何支持矩阵运算的机器都可以进行张量运算。今天,CPU通过通用编译器,加速Pythons,增强库和优化框架的支持就可以支持矢量和张量的高性能计算。
正如向量之前对HPC的硬件、软件以及想法的影响,张量也正在深刻的改变着我们。
9、语言:高级编程语言
Fortran编程语言在HPC领域占据主导地位,再加上C和C++语言几乎统治了HPC市场。通常通过C语言接口来扩展来支持加速器。尝试使用新语言来打破现有的格局已经失败,因为现有语言已经形成了一个生态,包括HPC的应用程序、用户、代码等。
AI带来了新的需求,这将扩展与HPC相关的语言。他们不会改变使用Fortran的大多数物理学家的活动,但使用MATLAB和Python的数据科学家需要根据他们的需求量身定制解决方案。
Python以及其它框架和编程语言,似乎正成为HPC越来越重要的部分。不过他们实际运行的程序仍将用C/C++/Fortran编写,但AI程序员既不会知道,也不关心它。
8、以不同方式思考:通过重新思考的方法来替换遗留代码
HPC非常传统,相对而言人工智能是新的。就目前而言,当两者相互作用时,它将重提有关实现遗留代码的问题,在某些情况下这些代码可能早就该实现了。说法可能是“让我们为这段代码添加一些人工智能功能”,但现实将是努力可能成为浪费时间。还记得Java热潮的早期许多“转换为Java”的努力吗?
就像那些早期疯狂的Java时代一样,急于将代码重写为新形式的人既有成功的也有失败的。投资回报率(ROI)将是关键,但预测创新的结果往往是错误的。
7、可移植性和安全性:虚拟化和容器
安全性和可移植性的具体问题是,“我可以在我的机器上安全地运行吗?”和“它能在我的机器上运行吗?”,这是虚拟化和容器试图解决的问题。当然,安全性来自于良好的硬件和软件特性。对于许多人来说,虚拟化和容器似乎能确立这种组合。
容器已引起许多开发人员的