买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种OpenCL自动转译方法_北京计算机技术及应用研究所_202311255553.7 

申请/专利权人:北京计算机技术及应用研究所

申请日:2023-09-27

公开(公告)日:2023-12-29

公开(公告)号:CN117311728A

主分类号:G06F8/51

分类号:G06F8/51;G06F8/41

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.01.16#实质审查的生效;2023.12.29#公开

摘要:本发明涉及一种OpenCL自动转译方法,属于代码转译领域。本发明将C或C++源码文件编译成LLVMIR文件,用LLVMpolly检测出IR文件的静态控制块SCOP,将IR文件中的SCOP映射到源码文件中SCOP的上下界行号位置,插入指令后送入到PPCG进行OpenCL转换。本发明将C或C++源码文件中能进行多面体建模的代码区域SCOP位置自动识别出来,解决了人工在源码文件中进行SCOP识别需要专家知识、且效率低的问题;能自动扫描工程中的所有C或C++源码文件,将符合多面体建模的文件批量转化为OpenCL主机端和设备端源码文件,较大的提高了转译效率。

主权项:1.一种OpenCL自动转译方法,其特征在于,该方法包括如下步骤:S1、用自动化脚本遍历工程内的每一个C或C++源码文件,用LLVM的clang编译器将其编译为LLVMIR文件,编译指令须传入-g参数、工程源码所引用的所有非标准库头文件目录;用LLVM的opt工具传入-polly-canonicalize参数将IR文件规范化;S2、遍历所有IR文件,用LLVMpolly的detect函数检测每一个IR文件,按函数遍历,检测出所有静态控制块SCOP,并保存C或C++源码文件名到对应的IR文件名的映射、IR文件名到其包含的所有SCOP的映射;S3、遍历所有C或C++源码文件名,根据步骤S2中映射,找到对应的IR文件的SCOP,遍历SCOP,将IR文件中的SCOP映射到此IR文件对应的C或C++源码文件SCOP的上界行号和下界行号;S4、遍历C或C++源码文件中的SCOP,并在待转译的SCOP上下行号处插入指令;插入指令按pet插入指令的有效规则,上行号处是指SCOP上界行号的上一行空白处,下行号是指SCOP下界行号的下一行空白处;将插入指令的源码文件,送入到PPCG进程中进行转换,生成OpenCL主机端和设备端源码文件;PPCG进程引用的第三方库pet的foreach_scop_in_C_source函数中的clang编译实例须添加工程源码所引用的所有非标准库头文件目录。

全文数据:

权利要求:

百度查询: 北京计算机技术及应用研究所 一种OpenCL自动转译方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。