当前位置: 首页 > 专利查询>之江实验室专利>正文

一种深度学习框架适配AI加速芯片的方法和装置制造方法及图纸

技术编号:31847360 阅读:12 留言:0更新日期:2022-01-12 13:28
本发明专利技术的一种深度学习框架适配AI加速芯片的方法和装置,具体分为三个阶段:芯片类型定义、芯片类型注册、芯片内存支持,所述芯片类型定义就是把需要支持的芯片的类型以一个枚举值的形式定义到proto文件中去,从而使得框架内部可以正确识别该芯片类型;芯片类型注册是把该芯片所需的基础设施注册到哈希表中去,便于框架在需要的时候可以根据芯片类型方便地找到相应的内容;芯片内存支持是把该芯片内存相关的操作放到框架中去,使得框架可以对芯片的存储空间进行统一管理。本发明专利技术简化了深度学习框架适配AI加速芯片的工作。学习框架适配AI加速芯片的工作。学习框架适配AI加速芯片的工作。

【技术实现步骤摘要】
一种深度学习框架适配AI加速芯片的方法和装置


[0001]本专利技术属于深度学习基础软件领域,涉及一种深度学习框架适配AI加速芯片的方法和装置。

技术介绍

[0002]深度学习框架是人工智能领域的操作系统,通过张量、基于张量的操作(Op)、计算图、自动微分工具、硬件拓展包(如cublas, cudnn)等五大核心组件帮助用户方便地实现各种深度学习算法,充分释放底层硬件的算力资源。
[0003]AI加速芯片也被称为AI加速器或计算卡,即专门用于处理人工智能应用中大量的计算任务的硬件。不同于传统芯片,AI芯片规模更大、结构更复杂、运算能力更强,为算力提供了有力的支持。
[0004]当前AI加速芯片种类日渐增多,呈现一种百花齐放的状态。深度学习框架底层兼容更多种类的AI加速器可以增加框架的兼容性,针对不同应用场景选择最合适的硬件,充分释放硬件算力资源。然而由于每一种AI加速芯片硬件结构不同,操作方式不同,导致在深度学习框架中每支持一种硬件就要从头开始把整个流程进行一遍,进行大量的重复性工作。

技术实现思路

[0005]为了解决现有技术中存在的上述技术问题,本专利技术提出了一种深度学习框架适配AI加速芯片的方法和装置,通过芯片类型定义、芯片类型注册、芯片内存支持三个主要的步骤,来简化深度学习框架适配AI加速芯片的工作,其具体技术方案如下:一种深度学习框架适配AI加速芯片的方法,主要分为三个阶段:芯片类型定义阶段,基于某种数据传输格式,如Protobuf,以自定义或编写的文件定义要支持的AI加速芯片类型,所述AI加速芯片类型包括枚举类型,用于在深度学习框架内部区分不同种类的芯片,使得深度学习框架根据不同的枚举类型值进行相应的处理,深度学习框架中的上下文管理器、设备线程、流索引生成器、计算核Kernel等基础设施是与芯片类型强绑定的,因为不同的芯片操作方式不同,故以上几种基础设施的实现方式也是不同的,以计算核Kernel的实现为例,在CPU上可能会用到OpenBLAS库,在GPU上会用到cuBLAS库,在寒武纪MLU上会用到cnrt和cnnl库,经过芯片类型注册阶段,深度学习框架就可以根据芯片类型自动选择相应的方式实现计算核Kernel;芯片类型注册阶段,将AI加速芯片相关的芯片类型、上下文管理器、设备线程以及流索引生成器、计算核Kernel注册到各自的哈希表中,并采用基于单例模式的注册机制使得芯片类型到上下文管理器、设备线程、流索引生成器、计算核Kernel的一一映射,便于框架在需要的时候可以根据芯片类型方便地找到相应的内容,相应的内容包括相应的芯片类型对应的上下文管理器、设备线程以及流索引生成器和计算核Kernel;芯片内存支持阶段,把AI加速芯片内存相关的操作放到深度学习框架中,使得框
架可以对芯片的存储空间进行统一管理。
[0006]优选的,所述芯片类型定义阶段,在芯片类型定义相关的数据结构中增加该AI加速芯片的类型。
[0007]优选的,所述哈希表的 key 值是要注册的芯片类型,value 值是该芯片所对应的处理函数,完成各种句柄的创建、片上计算、内存管理的操作;所述设备上下文管理器里面是可以产生芯片操作句柄的方法,其注册过程中将设备上下文管理器注册到哈希表中与芯片类型一一对应,具体为:创建上下文句柄,用于生成芯片计算过程中的各种句柄,再通过调用上下文句柄来创建设备上下文管理器用于向外部调用者提供各种句柄,并进行设备同步的操作,其中句柄包括:流句柄、芯片操作句柄;所述流索引生成器用于对不同的操作生成相应的流索引号,该类型的注册也是创建一个哈希表,key值是芯片类型,value值是相应的流索引生成器。
[0008]优选的,所述设备线程注册,该过程创建芯片类型相关的设备线程,用于创建启动芯片上计算过程的线程,设备线程创建完成之后将其注册到自己的哈希表中完成线程与芯片类型的一一对应。
[0009]优选的,所述计算核Kernel 注册,首先实现计算核Kernel内部的计算逻辑,然后将芯片类型和数据类型两项组成的二元组作为key值,计算核Kernel作为value值注册到计算核kernel相关的哈希表中去。
[0010]优选的,所述芯片内存支持阶段,基于不同种类的数据传输格式,定义需要支持的AI加速芯片的内存类型,对片上内存进行分配、释放、空间切分、数据拷贝操作。
[0011]优选的,所述定义需要支持的AI加速芯片的内存类型,用以在框架内部区分不同芯片的内存类型,在内存类型相关的数据结构中添加该AI加速芯片的内存类型。
[0012]优选的,所述对芯片的存储空间进行统一管理包括内存分配,所述内存分配包括:将所述芯片的存储空间统一分配出第一存储空间,根据不同模块例如卷积、池化等,分别对应的所需空间大小将所述第一存储空间划分成空间大小不同的段,划分的方法采用初始地址加偏移量的方式或调用芯片提供的特定API接口的方式;内存释放用于内存统一释放。
[0013]优选的,所述对芯片的存储空间进行统一管理包括对片上内存进行数据拷贝,AI加速芯片在开始计算之前及完成计算之后均与主机之间进行数据的拷贝,具体为:在使用AI加速芯片的过程中先从主机内存将数据拷贝到片上内存,完成计算之后再将结果拷回主机内存,计算过程中对主机与芯片之间、芯片与芯片之间的数据进行拷贝,在内存拷贝时根据数据拷贝的源和目的地的不同分情况处理一种深度学习框架适配AI加速芯片的装置,包括一个或多个处理器,用于实现所述的深度学习框架适配AI加速芯片的方法。
[0014]本专利技术的有益效果:本专利技术简化了深度学习框架适配AI加速芯片的工作。
附图说明
[0015]图1所示的是根据本专利技术的深度学习框架适配AI加速芯片整体流程示意图;图2所示的是根据本专利技术的深度学习框架适配AI加速芯片设备管理器和设备线程注册示意图;
所示;KeyValueCPUCPU的上下文管理器GPUGPU的上下文管理器MLUMLU的上下文管理器
……
表1上下文管理器注册表KeyValueCPUCPU的设备线程GPUGPU的设备线程MLUMLU的设备线程
……
表2设备线程注册表KeyValueCPUCPU的流索引生成器GPUGPU的流索引生成器MLUMLU的流索引生成器
……
表3流索引生成器注册表KeyValueCPUCPU上的计算核KernelGPUGPU上的计算核KernelMLUMLU上的计算核Kernel
……
表4计算核Kernel注册表如图2所示,展示了设备上下文管理器和设备线程两个主要基础设施的注册过程,设备上下文管理器里面是可以产生芯片操作句柄的方法。注册的过程就是把芯片类型作为key值,设备上下文管理器作为value值的一对key

value对放进一个哈希表里,后期使用的时候通过芯片类型和哈希表方便地查询到对应的方法,从而获取相应的句柄。设备线程里包含了用于创建该芯片类型相关线程的方法,其注册过程与设备上下文管理器的注册本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度学习框架适配AI加速芯片的方法,其特征在于,分为三个阶段:芯片类型定义阶段,基于不同种类的数据传输格式,以自定义或编写的文件定义要支持的AI加速芯片类型,所述AI加速芯片类型包括枚举类型,用于在深度学习框架内部区分不同种类的芯片,使得深度学习框架根据不同的枚举类型值进行相应的处理;芯片类型注册阶段,将AI加速芯片相关的芯片类型、设备上下文管理器、设备线程以及流索引生成器、计算核Kernel注册到各自的哈希表中,并采用基于单例模式的注册机制使得芯片类型到上下文管理器、设备线程、流索引生成器、计算核Kernel的一一映射;芯片内存支持阶段,把AI加速芯片内存相关的操作放到深度学习框架中,使得框架可以对芯片的存储空间进行统一管理。2.如权利要求1所述的一种深度学习框架适配AI加速芯片的方法,其特征在于,所述芯片类型定义阶段,在芯片类型定义相关的数据结构中增加该AI加速芯片的类型。3.如权利要求1所述的一种深度学习框架适配AI加速芯片的方法,其特征在于,所述哈希表的 key 值是要注册的芯片类型,value 值是该芯片所对应的处理函数,完成各种句柄的创建、片上计算、内存管理的操作;所述设备上下文管理器里面是可以产生芯片操作句柄的方法,其注册过程中将设备上下文管理器注册到待注册入所述设备上下文管理器的哈希表中与芯片类型一一对应,具体为:创建上下文句柄,再通过调用上下文句柄来创建设备上下文管理器用于向外部调用者提供各种句柄并进行设备同步的操作,其中句柄包括:流句柄、芯片操作句柄;所述流索引生成器用于对不同的操作生成相应的流索引号,该类型的注册也是创建一个哈希表,key值是芯片类型,value值是相应的流索引生成器。4.如权利要求1所述的一种深度学习框架适配AI加速芯片的方法,其特征在于,所述设备线程注册,该过程创建芯片类型相关的设备线程,用于创建启动芯片上计算过程的线程,设备线程创建完成之后将其注册到自己的哈希表中完成线程与芯片类型的一一对应。5....

【专利技术属性】
技术研发人员:王拓杨非黄振华鲍虎军华炜
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1