[发明专利]面向国产异构众核加速计算核心局部存储的管理方法在审
申请号: | 202210136618.5 | 申请日: | 2022-02-15 |
公开(公告)号: | CN114579301A | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 黄高阳;郑岩;王星炎;林海南;张含;邹通;宓楠浣 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 国产 异构众核 加速 计算 核心 局部 存储 管理 方法 | ||
本发明公开一种面向国产异构众核加速计算核心局部存储的管理方法,包括以下步骤:控制核心在内核申请内存空间用作LDM管理结构,并将LDM被使用情况进行标记;控制核心将该管理结构拷贝到各个运算核心的LDM中;运算核心在申请和释放空间时均根据自身的管理结构进行操作,并在管理结构中登记LDM访存情况;若控制核心需要申请LDM空间,则从当前记录的LDM起始地址依次检查各个运算核心是否占用当前LDM地址,LDM地址根据当前运算核心的管理结构中的标记进行查验是否被占用;当控制核心释放LDM空间时,在管理结构中进行标记。本发明可保证核心对于LDM空间的地址分配信息协调一致,进而保证在多个动态库载入时其LDM属性变量的正确可用。
技术领域
本发明涉及一种面向国产异构众核加速计算核心局部存储的管理方法,属于国产众核芯片的内存管理技术领域。
背景技术
随着高性能计算技术的发展,利用异构硬件加速方式提升CPU的处理性能已逐渐成为主流。当前国产众核处理器主要用于解决一些科学计算问题,此类课题可通过使用静态编译的方式来运行,因此对LDM的使用要求不高,不需要对LDM空间进行主从的协同管理。但随着人工智能的发展,应用高性能计算处理人工智能应用也成为了高性能计算发展的一种趋势,而人工智能应用的框架如Tensorflow等,则很多是基于python语言的;Python本身作为一个解释器,是动态链接的,依赖动态库libpython.so及基础动态库,如强行改成静态链接会出现运行错误,而采用动态库的方式,则不可避免的会遇到LDM变量加载的问题。因此,为有效支持动态库在众核芯片上的应用,有必要设计一套主从协同的LDM管理方法。
在国产众核芯片中,管理控制核心和加速运算核心两者需要协同在一起管理计算资源。在加速运算核心中具有一块高速的本地局部数据存储空间(Local Data Memory,LDM),该空间需要由软件进行合理的管理分配和使用。LDM被加速运算核心本身独立管理,快速访问,提高高性能应用程序的效率。
使用LDM空间通常有2种方式,一是LDM属性变量,二是LDM malloc/free方法;目前,针对LDM的管理和使用主要有以下三个方面问题:
(1)LDM管理处于用户空间,因而链接器无法进行ldm_malloc/free存储LDM属性变量;
(2)管理控制核心仅在应用程序刚执行时申请LDM空间用于存储LDM属性变量,当在应用程序运行过程中,由于ldm_malloc/free仅适用于用户空间,因而管理控制核心无法再次申请使用LDM空间;
(3)在静态链接的程序中,LDM属性的变量地址编排可以由编译器完成,在程序的声明周期内,变量的地址是固定不变的;但动态链接的程序则有不同,由于动态库中使用相对地址,多个动态库中的LDM属性变量需要被重新地址编排,才能保证变量不会被相互覆盖。通常,动态链接器运行在管理控制核心,因而目前对于LDM属性变量的加载会出现相互篡改现象。
LDM属性的变量的地址编址首先要由编译器进行编排。针对静态链接的程序,只需要由编译器进行一次性的静态编排即可,针对动态链接的程序,如仍采用静态编排的方式,在多个动态库中,LDM属性的变量可能会被编译器编排到相同的地址,从而导致访问冲突。现有技术下,由于LDM属性变量可能存在的地址冲突,需要程序员保证,在多个动态库执行时,只有当前动态库的LDM属性变量是有效的,且有可能会被改写,正确性不能保证。另外,还需保证在加速核心运行过程中,加速核心采用ldm_malloc申请的空间与管理核心分配的ldm变量空间不会存在冲突。
发明内容
本发明的目的是提供一种面向国产异构众核加速计算核心局部存储的管理方法,以支持多个动态库中的LDM属性变量的地址编排和访问的正确性,不会发生内容被覆盖、地址冲突等问题。
为达到上述目的,本发明提供一种面向国产异构众核加速计算核心局部存储的管理方法,基于以下配置:
在动态库加载时,从LDM中分配一块空间,用于放置LDM属性变量,并根据该空间的地址,完成LDM属性变量的重定位,且该空间的分配遵循如下条件:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210136618.5/2.html,转载请声明来源钻瓜专利网。