国内刊号:43-1258/TP
国际刊号:1007-130X
发布日期:
作者:俞茂学, 贾东宁, 魏志强, 许佳立, 马广浩
单位:1.青岛海洋科学与技术试点国家实验室,山东 青岛 266237;2.中国海洋大学信息科学与工程学院,山东 青岛 266100)
关键词:异构众核,源码转换,OpenACC,并行计算,ANTLR,C++,
基金:山东省重大科研平台建设项目(2018SDPT01)
国产异构众核处理器是我国打破国际技术壁垒,在高性能计算领域取得突破的关键环节。围绕国产超算的软件生态环境建设,采用智能源码转换的方法盘活海量多核架构的遗产代码是加速软件研发效率,推动领域发展的重要途径。针对国产运算核心不支持C++编译的现状,基于开源的ANTLR语言翻译工具,提出了一种面向异构众核处理器的智能化C++语言向C语言转换的辅助框架。该框架聚焦面向对象语言的关键特征,基于抽象语法树,实现了基类和继承类、函数定义、基于标签法的模板实例化以及部分STL库的C语言转换,建立了待转换代码的自动化标注体系,极大地提高了C++代码的转换和移植效率。通过对可衡量的并行计算基准应用BableStream进行自动转换和移植测试,证实了该转换框架的有效性。
来源:2021年第6期
《计算机工程与科学》期刊编辑部