检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:刘加伟 郭强[1,2] 庄园 张海红 王利 曾云辉 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)
机构地区:[1]齐鲁工业大学(山东省科学院)计算机科学与技术学部,山东济南250014 [2]齐鲁工业大学(山东省科学院)山东省计算中心(国家超级计算济南中心),山东济南250103
出 处:《计算机工程与设计》2024年第2期633-640,F0003,共9页Computer Engineering and Design
基 金:科教产融合试点工程重大创新专项基金项目(2022JBZ01-01)。
摘 要:针对国产神威环境下众核代码编写工作量大的问题,设计实现一个可以将核心段的串行代码自动转换为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.
关 键 词:加速线程库 代码生成 模板引擎 语法分析 众核处理器 神威·太湖之光 高性能计算
分 类 号:TP311.52[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:3.148.222.68