无锡江南计算技术研究所武文浩获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉无锡江南计算技术研究所申请的专利一种基于国产异构平台的C++向量编程方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN114217771B 。
龙图腾网通过国家知识产权局官网在2025-06-06发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202110452548.X,技术领域涉及:G06F8/30;该发明授权一种基于国产异构平台的C++向量编程方法是由武文浩;王飞;肖谦;沈莉;周文浩设计研发完成,并于2021-04-26向国家知识产权局提交的专利申请。
本一种基于国产异构平台的C++向量编程方法在说明书摘要公布了:本发明公开一种基于国产异构平台的C++向量编程方法,所述编程方法包括以下步骤:S1、通过引入头文件simd.h的形式获得向量数据类型和向量编程接口的支持;S2、编译器对C++向量程序进行前端处理,生成中间表示代码;S3、编译器中端对S25中生成的中间表示代码进行优化,生成新的中间表示;S4、编译器中端对步骤S3中优化后的中间代码进行指令生成,形成向量汇编代码;S5、生成机器码;S6、链接器将上述生成的所有主核和从核机器码混合链接成一个可执行码;S7、将可执行码运行在异构众核平台上。本发明为国产异构众核架构的应用开发提供了一种新型的编程方式,有利于最大限度的发挥架构优势,提升应用性能。
本发明授权一种基于国产异构平台的C++向量编程方法在权利要求书中公布了:1.一种基于国产异构平台的C++向量编程方法,其特征在于,基于以下配置:在C++程序基础上增加C++向量头文件构建源程序,所述C++向量头文件用于实现对向量数据类型和向量编程接口的定义;所述C++向量头文件为simd.h,该C++向量头文件通过宏定义区分不同架构的向量数据类型与向量编程接口,宏定义由编译器根据架构选项自动生成;在C++向量头文件simd-N.h中,N由支持的架构代号决定,每一个simd-N.h文件中,包含统一的向量编程接口,向量编程接口根据不同向量宽度调用编译器内建函数,编译器通过代码降级,将内建函数翻译为国产异构平台的向量汇编代码;对于不同向量数据类型,提供同名的向量编程接口,根据向量数据类型处理向量编程接口;所述向量编程接口底层实现包括op语法模式和内建函数模式,所述op语法模式使用数学符号操作符表示操作类型,所述内建函数模式通过调用编译器内建函数的方式表示操作类型;所述编程方法包括以下步骤:S1、通过引入头文件simd.h的形式获得向量数据类型和向量编程接口的支持;S2、编译器对C++向量程序进行前端处理,具体包括:S21、编译器驱动根据编译命令中架构选项,打开对应的架构控制宏定义,用来生效simd.h中对应架构的代码;S22、编译器前端将向量编程接口进行换名操作,将向量编程接口的接口符号、参数和接口类型进行编码,形成新的符号;S23、编译器前端判断是否为从核代码,如果是,再次进行换名操作,将S22中形成的新的符号添加slave_前缀;S24、编译器前端对向量编程接口的实现进行识别,区别为内建函数模式和OP语法模式;S25、编译器前端通过词法、语法、语义识别处理,生成抽象语法树,在抽象语法树的基础上生成中间表示代码,将S24中识别出的内建函数模式生成内建函数接口中间表示,OP语法模式生成操作符中间表示;S3、编译器中端对S25中生成的中间表示代码进行优化,生成新的中间表示;S4、编译器中端对步骤S3中优化后的中间代码进行指令生成,将S25或S3中生成的操作符中间表示通过模式匹配生成对应的向量汇编代码,内建函数接口中间表示通过内建函数降级模块,区分不同的内建函数进行对应的指令降级,形成向量汇编代码;S5、汇编器将向量汇编代码进行汇编,生成机器码;S6、链接器将上述生成的所有主核和从核机器码混合链接成一个可执行码;S7、将可执行码运行在异构众核平台上。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人无锡江南计算技术研究所,其通讯地址为:214038 江苏省无锡市滨湖区山水东路699号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。