预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共32页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113849293A(43)申请公布日2021.12.28(21)申请号202111436322.7G06N3/063(2006.01)(22)申请日2021.11.30G06N3/08(2006.01)(71)申请人湖北芯擎科技有限公司地址430056湖北省武汉市经济技术开发区南太子湖创新谷启迪协信科创园F4304(72)发明人原嵩张运星迟亮金正雄(74)专利代理机构深圳紫藤知识产权代理有限公司44570代理人何艳(51)Int.Cl.G06F9/48(2006.01)G06F9/50(2006.01)G06F15/173(2006.01)G06N3/04(2006.01)权利要求书2页说明书16页附图13页(54)发明名称数据处理方法、装置、系统及计算机可读存储介质(57)摘要本申请实施例公开了一种数据处理方法、装置、系统及计算机可读存储介质。该方法包括:将神经网络的子网络模块部署在芯片上的神经网络处理器中,通过神经网络处理器的计算单元将保存子网络输出数据的内存地址封装为报文,该子网络输出数据为神经网络处理器调用神经网络的子网络模块处理而输出的数据,并将报文发送至RDMA引擎中的待发送队列,由RDMA引擎将内存地址中保存的子网络输出数据发送至神经网络另一子网络模块所在的目标神经网络处理器上,如此,提高了神经网络处理器之间传输数据的效率,可在不增加芯片成本的基础上,实现将一个复杂的神经网络部署到多个神经网络处理器上。CN113849293ACN113849293A权利要求书1/2页1.一种数据处理方法,其特征在于,应用在芯片中的神经网络处理器上,所述神经网络处理器上安装有集成远程直接内存访问引擎的硬件,所述神经网络处理器上部署有神经网络的子网络模块,所述神经网络处理器包括多个计算单元和存储器,所述数据处理方法,包括:所述神经网络处理器的计算单元获取用于保存子网络输出数据的内存地址,所述子网络输出数据是调用所述存储器中的子网络模块进行处理而输出的数据;所述计算单元将所述内存地址封装为预设格式的硬件层的报文,并将所述报文发送至所述远程直接内存访问引擎中的待发送队列,所述预设格式为所述直接内存访问引擎支持的格式;所述远程直接内存访问引擎获取所述待发送队列中的所述报文中的所述内存地址,从所述内存地址中获取所述子网络输出数据,并通过所述子网络模块与部署有所述神经网络的另一子网络模块之间创建的传输通道,将所述子网络输出数据发送至所述另一子网络模块所在的目标神经网络处理器上。2.根据权利要求1所述的数据处理方法,其特征在于,所述计算单元将所述内存地址封装为预设格式的硬件层的报文,并将所述报文发送至所述远程直接内存访问引擎中的待发送队列的步骤,包括:所述计算单元利用预设算子将内存地址封装为预设格式的硬件层的报文,并利用所述预设算子将所述报文发送至所述远程直接内存访问引擎中的待发送队列,其中,所述预设算子是预先封装的原子计算指令集合,所述原子计算指令集合中包括远程直接内存访问原语。3.根据权利要求2所述的数据处理方法,其特征在于,在所述计算单元利用预设算子将内存地址封装为预设格式的硬件层的报文的步骤之前,还包括:在定义所述神经网络的网络结构时,加入预设算子;或者在利用神经网络编译器编译所述神经网络,并将编译后的所述神经网络切片后得到的每个子网络模块中加入预设算子。4.根据权利要求1所述的数据处理方法,其特征在于,所述计算单元将所述内存地址封装为预设格式的硬件层的报文的步骤,包括:所述计算单元触发CPU中断,并将所述内存地址的发送指令发送至用户态协议栈,所述CPU为神经网络处理器内嵌的CPU;基于所述发送指令,利用所述用户态协议栈将所述内存地址直接封装为硬件层的报文。5.根据权利要求1所述的数据处理方法,其特征在于,在所述获取用于保存子网络输出数据的内存地址的步骤之后,还包括:所述计算单元将所述内存地址进行保存;当检测到需要向所述内存地址中写入所述子网络输出数据时,触发将所述内存地址封装为预设格式的硬件层的报文的步骤。6.根据权利要求5所述的数据处理方法,其特征在于,还包括:当所述神经网络处理器接收到所述神经网络的其他子网络模块发送的子网络输出数据后,获取预先分配的保存所接收到的所述子网络输出数据的目标内存地址;2CN113849293A权利要求书2/2页获取预先分配的所述神经网络处理器自身的存储地址范围、以及其他神经网络处理器中部署的神经网络的其他子网络模块所对应的网络层数据;根据所述目标内存地址、所述存储地址范围和所述网络层数据确定保存所述子网络输出数据的目标神经网络处理器;当所确定的目标神经网络处理器为所述神经网络处理器时,将所述子网络输出数据保存在所述目标内存