美研究人员开发出更高效易操作的超算编程语言
目前广泛使用来操控超算的仍是40多年前发明的C++语言,在当时主要的微处理器是中央处理单元(CPU),它可以一个接一个地计算,即串行处理。而现在的超算更多地使用另一种微处理器,也就是图形处理单元(GPU),它可以同时处理多个相似的计算任务,即并行处理。
图片来自于 PxHere
美国斯坦福大学通信与网络教授亚历克斯·艾肯的团队日前开发出了新的计算机程序语言“Regent”,这种用户友好型语言在操作超算处理任务方面比C++更便捷高效。它能简化超级计算机程序员的工作,例如将串行处理任务分配给CPU,而将并行处理任务分配给GPU。
程序员先使用Regent语言将自己的计算任务进行编译,存入该团队开发的名为“Legion”的第二个软件层;Legion再据此生成机器代码,也就是超算可以理解的指令,指挥计算机执行任务。Regent和Legion间的配合让程序员可以更方便地做出一些决策,比如在哪儿存储数据,这直接影响到计算的成本和速度。
美国能源部SLAC国家加速器实验室科学家埃利奥特·斯洛特在使用了该新程序语言后表示,这一语言节省了程序员时间和成本,“现在我可以先对计算任务进行编程,随后再安置数据,不需要重复写代码,非常简单”。
尽管新程序语言的推行都需要克服惯性,研究者对Regent程序语言的推广充满信心。美国能源部目前正在大力推进百亿亿次级超级计算机项目,超算软件正是其支持的研发重点之一。
(信息来源:科学网)