摘要
针对国产神威环境下众核代码编写工作量大的问题,设计实现一个可以将核心段的串行代码自动转换为Athread代码的工具。采用Rust语言进行词法和语法分析,面向不同数组维度的Fortran和C语言程序,基于主程序调用master程序再由master程序调用slave程序的三层模板程序架构,集成常用众核优化方法的代码框架。经过实验分析,采用该自动转换工具生成的Athread代码相较于人工编写的OpenACC*加速的程序有更高的加速比,特别是对多个核心段进行众核化加速时的加速比相差15%,验证该转换工具具有很好的实用性。
Aiming at the problem that it is difficult to write Athread code under Sunway environment,an automatic Athread code generation tool that could convert the serial kernel into Athread code was designed and developed.Rust language was used for lexical and syntactic analysis.For different dimensions of arrays in Fortran language and C language,based on a three-tier program template,the main program called the master program and then the master program called the slave program,while popular many-core optimization methods were applied.Experimental results show that the Athread code generated using the automatic generation tool has higher speedup than the OpenACC*accelerated program,especially for multiple kernels,the speedup can be about 15%,which verifies that the generation tool is valuable in practical application.
作者
刘加伟
郭强
庄园
张海红
王利
曾云辉
LIU Jia-wei;GUO Qiang;ZHUANG Yuan;ZHANG Hai-hong;WANG Li;ZENG Yun-hui(Faculty of Computer Science and Technology,Qilu University of Technology(Shandong Academy of Sciences),Jinan 250014,China;Shandong Computer Science Center(National Supercomputer Center in Jinan),Qilu University of Technology(Shandong Academy of Sciences),Jinan 250103,China)
出处
《计算机工程与设计》
北大核心
2024年第2期633-640,F0003,共9页
Computer Engineering and Design
基金
科教产融合试点工程重大创新专项基金项目(2022JBZ01-01)。
关键词
加速线程库
代码生成
模板引擎
语法分析
众核处理器
神威·太湖之光
高性能计算
Athread library
code generation
template engine
syntactic analysis
many-core processor
Sunway Taihulight
high performance computing