C++无法满足超算编程需求,斯坦福研发专用语言Regent

栏目: C++ · 发布时间: 5年前

斯坦福大学开发出一种用于编程超级计算机的新语言Regent。用户可以先编程计算任务,然后再定位数据,非常容易,而且无需重新编写代码。科学家希望创建一个不需要每个研究人员成为计算机科学家的编程环境。

最前沿科学领域的巨大挑战只有超级计算机能够应对,但这些机器的难度却成了前进的阻碍。

几十年前,计算机成本高昂,复杂且罕见。但是PC革命改变了这一点,为大多数人提供了更小、更快、更容易使用、更易于获取且更便宜的计算机,科学家们因此受益匪浅。他们开发了计算机技术来研究细胞的内部运作、遥远恒星的行星轨道、以及远远超出其观察能力的其他现象。

但对于处于最前沿的研究人员来说,新式复杂的仪器开始产生越来越多的数据,需要用到超级计算机来分析实验结果。给这些硬件编程所需软件太复杂了,另试图分析这些庞大数据集的科学家们常常难以掌握。

C++无法满足超算编程需求,斯坦福研发专用语言Regent

不过好消息来了。Regent,一门由斯坦福大学计算机科学家Alex Aiken领导的小组开发的新编程语言,将使得超级计算机编程更易于使用。

“我们希望创建一个不需要每个研究人员成为计算机科学家的编程环境,”阿尔卡特朗讯通信和网络教授,粒子物理学和天体物理学以及光子科学教授Aiken说。

Regent有助于解决超级计算领域面临的最大挑战。超级计算机比以往任何时候都复杂得多,当前的编程语言一直在努力跟上步伐。提到超级计算机,大众的脑海中可能会浮现出一台类似黑客帝国Matrix的巨型机器,但它实际上是由数千个微处理器组成的数组。

科学家通常使用C++对这些阵列进行编程。C++是40年前的一种编程语言,在当时那个年代,主要的微处理器是中央处理单元即CPU。CPU可以快速的解决问题,一个接一个地计算,程序员称之为串行方式。

但是现在,第二种类型的微处理器对于超级计算变得重要,即图形处理单元或GPU。一开始是为了玩电脑游戏时,控制屏幕上无可计数的像素点,可以执行并行计算。

事实证明,并行处理在机器学习等应用中非常有用。C++已经升级,以跟上这波硬件的变化。不幸的是,补丁的增加使语言越来越难以使用。而Regent能够让超级计算机的 程序员 更容易做一些事情,比如将串行处理任务分配给CPU,将并行处理任务分配给GPU。

一旦Regent在概念层面上构建了程序,程序员的意图就会被编译成一个名为Legion的第二个软件层。

Legion生成机器代码,用来指导超级计算机硬件如何执行程序的精确指令。Regent和Legion之间的紧密集成使程序员更容易做出其他重要决定; 值得注意的是,存储超级计算机必须分析的数据的位置。

Elliott Slaughter是SLAC国家加速器实验室的科学家,他几乎从一开始就在Regent和Legion工作过,他表示两层之间的整合可以节省程序员的金钱和时间。计算机消耗能源,这需要成本,移动数据的成本可能是对该数据执行计算的成本的100倍。

此外,大型实验通常依赖于收集大量数据的仪器。Slaughter表示,一些仪器可以每秒收集相当于20个DVD的数据,用于持续15分钟的实验。即使以光速在光纤上移动,从仪器到超级计算机获取大量数据也可能产生滞后,这可能会破坏分析。

“把数据存储在什么地方,是程序员需要做出的重要抉择,”Slaughter说。Regent和Legion通过为程序员提供前所未有的控制权来节省金钱和时间,以便在等待计算时存储数据。

“你可以先执行计算任务,然后在不重写代码的情况下轻松定位数据,”他说。

Regent会流行吗?研究人员表示,新语言必须克服大量的惯性。“这是一种非常不同的编程方式,”Aiken说。“研究人员需要一段时间才能采用所需的思维模式。”

但有两个因素对它有利。首先,超级计算硬件的继续改进。美国能源部正在推动其Exascale计算项目的发展,该项目的目标是在2021年左右实现超级计算能力的50倍增长。能源部正在支持软件项目,包括Regent,以帮助编程保持同步。

此外,许多想要使用超级计算机的科学家不熟悉当前的工具,并对编写大型实验所需的陡峭学习曲线持怀疑态度。即使是经验丰富的超级计算机程序员也可能会发现当前系统很麻烦,并想知道是否有更好的方法。Aiken说:“我们经常与那些意识到Regent为他们生活更轻松的科学家交谈。”

参考链接:

https://engineering.stanford.edu/magazine/article/new-more-user-friendly-language-programming-supercomputers


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

游戏之旅

游戏之旅

云风 / 电子工业出版社 / 2005-12-01 / 46.00

这是一本非常有特色的计算机编程学习书籍。其特色就在于它将作者十余年来对游戏编程的所思、所感、所悟与编程理论知识相结合,褪去了纯理论的教学理念,使读者在前人的学习过程中吸取学习经验和教训,将计算机基础知识和高级编程技术不知不觉地融入自己的头脑中。 本书忠实地记录了作者十余年来对游戏编程的所思、所感、所悟。全书按照作者本人学习和实践的过程,带着读者从基础的计算机知识到高级的编程技......一起来看看 《游戏之旅》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器