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

【发明公布】面向异构众核处理器的动态链接运行支撑方法_无锡江南计算技术研究所_201910918622.5 

申请/专利权人:无锡江南计算技术研究所

申请日:2019-09-26

公开(公告)日:2021-04-13

公开(公告)号:CN112650539A

主分类号:G06F9/445(20180101)

分类号:G06F9/445(20180101);G06F9/50(20060101);G06F15/16(20060101)

优先权:

专利状态码:有效-授权

法律状态:2022.07.12#授权;2021.04.30#实质审查的生效;2021.04.13#公开

摘要:本发明公开一种面向异构众核处理器的动态链接运行支撑方法,包括以下步骤:S1、将用户的控制核心程序、加速核心程序及加速核心静态库链接到可执行程序中,获得异构混合动态链接的可执行程序;S2、运行异构混合动态链接的可执行程序;S3、提供一动态混合链接选项,实现异构程序的混合链接;S4、程序加载器分析异构混合动态链接的可执行程序的各个段,通过interp段解析标准动态链接器的地址;S5、向操作系统申请页氏空间,用于加载控制核心动态库;S6、实现基于众核空间的动态分配策略;S7、新增接口dlopen_hybrid,支持异构混合动态库中控制核心代码和加速核心代码正确运行。本发明既能保证控制核心代码兼容动态链接功能和动态运行模式,也能通过充分发挥加速核心的加载和运行效率。

主权项:1.一种面向异构众核处理器的动态链接运行支撑方法,其特征在于:包括以下步骤:S1、通过异构混合链接器,将用户的控制核心程序、加速核心程序及加速核心静态库链接到可执行程序中,获得异构混合动态链接的可执行程序;S2、运行S1中获得的异构混合动态链接的可执行程序,采用动态链接模式,在异构混合动态链接的可执行程序运行开始时,根据步骤S1中程序链接时获取的动态库依赖信息,查找环境变量LD_LIBRARY_PATH指定的目录下的控制核心动态库和异构混合动态库,并将查找到的控制核心动态库和异构混合动态库加载到众核异构处理器的存储空间上;S3、基础编译系统在基础编译环境之上,在传统链接选项的基础上,提供一动态混合链接选项,该动态混合链接选项可使用基础链接器进行标准的动态链接模式,并选择预先配置好的混合动态链接脚本,针对于控制核心和加速核心的基础库,分别选择动态版本的混合动态链接脚本和静态版本的混合动态链接脚本,实现异构程序的混合链接;S4、程序加载器分析异构混合动态链接的可执行程序的各个段,通过interp段解析标准动态链接器的地址,并向操作系统申请显式的段式空间,用于加载标准动态链接器,由标准动态链接器进行动态符号的解析、重定位及动态库的预解析和加载,并将运行指令转向可执行程序的程序入口;S5、程序加载器向操作系统申请页氏空间,用于加载控制核心动态库,并将众核段式空间,作为加载异构混合动态库的基地址,使用预先保留好的特殊空间,保证与纯静态链接模式的兼容性;S6、程序加载器还根据异构混合动态链接的可执行程序的特点,实现基于众核空间的动态分配策略,具体包括以下步骤:S61、程序加载器向操作系统申请核组共享空间,用于保存核组内控制核心和加速核心交互的关键变量,避免可执行程序的运行过程中出现线程库变量地址不一致的情况;S62、针对每个加速核心的局存空间,实现动态化的管理方案,即在每个异构混合动态库中,加速核心局存变量访问时都使用不同的基地址,该基地址由程序加载器进行统一分配并赋值给加速核心的局存基地址寄存器;S7、基于传统接口dlopen,在基础库里新增一针对异构混合动态库的接口dlopen_hybrid,此接口dlopen_hybrid在申请动态库加载空间时,不使用传统的mmap方式申请空间,而是与程序加载器配合,使用由程序加载器向操作系统预申请的核组共享空间,并将异构混合动态库加载到该核组共享空间上,从而有效支持异构混合动态库中的控制核心代码和加速核心代码正确运行。

全文数据:

权利要求:

百度查询: 无锡江南计算技术研究所 面向异构众核处理器的动态链接运行支撑方法

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