恭喜无锡江南计算技术研究所王飞获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网恭喜无锡江南计算技术研究所申请的专利一种基于异构众核架构的C++融合编程方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN114217770B 。
龙图腾网通过国家知识产权局官网在2025-05-16发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202110325186.8,技术领域涉及:G06F8/30;该发明授权一种基于异构众核架构的C++融合编程方法是由王飞;尉红梅;武文浩;沈莉;肖谦;周文浩;赵美佳;李斌设计研发完成,并于2021-03-26向国家知识产权局提交的专利申请。
本一种基于异构众核架构的C++融合编程方法在说明书摘要公布了:本发明公开一种基于异构众核架构的C++融合编程方法,包括以下步骤:S1、主核以头文件“athreadcxx.h”的形式提供athreadcxx类的对象;S2、athreadcxx类的对象通过构造函数进行从核资源的初始化,通过析构函数进行从核资源的回收;S3、编译器通过选项‑mhost将使用athreadcxx类的对象编程的主核程序进行编译;S4、从核以头文件“slavecxx.h”的形式提供线程私有全局变量PEN、COL和ROW,用于保存当前从核的编号和行列信息。本发明解决了不同架构的指令集混合链接符号多重定义问题、从核间的全局变量访存问题。
本发明授权一种基于异构众核架构的C++融合编程方法在权利要求书中公布了:1.一种基于异构众核架构的C++融合编程方法,其特征在于,包括以下步骤:S1、主核以头文件“athreadcxx.h”的形式提供athreadcxx类的对象,并将该对象存放在核组共享空间中,使得符号地址不同的主核互不影响;S2、athreadcxx类的对象通过构造函数进行从核资源的初始化,通过析构函数进行从核资源的回收;athreadcxx类的对象提供成员变量cgid,用于保存当前核组的核组号;athreadcxx类的对象提供成员结构体变量core.info,用于保存主从核传递参数的符号地址;athreadcxx类的对象提供成员函数spawn,用于调用从核函数,具体为:S21、将从核函数名添加slave_前缀,作为成员函数spawn的第一个指针参数传递给从核;S22、将要传递的参数打包成结构体,将结构体指针作为成员函数spawn的第二个参数,传递给从核;S3、编译器通过选项-mhost将使用athreadcxx类的对象编程的主核程序进行编译,在处理符号地址的过程中,C++编译器根据通用规则对函数名进行换名,换名结束后,通过识别slave_前缀,将换名后的函数名进行信息提取,生成包含slave_前缀且不影响原函数信息的符号地址,以去除slave_前缀对换名的影响;S4、从核以头文件“slavecxx.h”的形式提供线程私有全局变量PEN、COL和ROW,用于保存当前从核的编号和行列信息;从核以头文件“slavecxx.h”的形式提供全局函数getArg,该函数的返回值为S22中主核传递给从核的第二个参数指针,通过对该返回值的解构,获取到主核要传递给从核的参数;从核使用thread_local关键字对从核私有的全局变量进行声明,声明该变量存放在从核私有空间中,而普通的全局变量存放在核组共享空间中;S5、编译器通过选项-mslave将包含头文件“slavecxx.h”的从核程序进行编译,当识别到thread_local关键字时,将该全局变量的符号地址添加section信息,链接时对包含该section信息的变量符号地址编址为从核私有空间的地址格式,在处理符号地址的过程中,对所有的从核符号,C++编译器根据通用规则对函数名进行换名,换名结束后,添加slave_前缀,以区别主核符号地址;S6、编译器通过选项-mhybrid将主核程序符号地址、主核程序中包含slave_前缀的符号地址和从核程序中所有包含slave_地址进行链接处理,生成不同指令集的混合可执行码,使得主核只通过前缀slave_方式调用从核。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人无锡江南计算技术研究所,其通讯地址为:214038 江苏省无锡市滨湖区山水东路699号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。