[发明专利]一种基于异步事件的神经网络异构加速方法和系统有效
申请号: | 201810058099.9 | 申请日: | 2018-01-22 |
公开(公告)号: | CN108416433B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 陈亮;纪竞舟;黄宇扬 | 申请(专利权)人: | 上海熠知电子科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F9/50 |
代理公司: | 上海智晟知识产权代理事务所(特殊普通合伙) 31313 | 代理人: | 张东梅;李镝的 |
地址: | 200063 上海市普陀区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 异步 事件 神经网络 加速 方法 系统 | ||
1.一种神经网络异构加速的方法,包括:
主控单元在初始化阶段完成加速器的基本配置;
所述主控单元将需要加速器进行处理的数据存储在系统存储器中;
所述主控单元将命令描述符存储在所述系统存储器中;
所述主控单元将命令字存放在所述系统存储器中;
所述主控单元仅通过单次寄存器访问通知所述加速器需要处理的命令条数;
所述加速器基于初始化阶段的配置从所述系统存储器中读取命令字并完成命令字解析,加速器内部解码单元将取回的命令操作符解析成多个内部操作序列,并行发送到加速器内部的不同组件用来激活操作,同时从所述系统存储器中读取需要处理的数据;
所述加速器将计算结果存储到所述系统存储器的第一存储位置,从而不通过中断方式告知主控单元加速完成;
所述主控单元在执行间隔直接读取所述系统存储器的第一存储位置,得到所述加速器的所述计算结果。
2.如权利要求1所述的方法,其特征在于,所述加速器为神经网络加速器。
3.如权利要求1所述的方法,其特征在于,所述基本配置包括在系统存储器中输入数据的基地址,权重的基地址以及当前加速结果输出的基地址。
4.如权利要求2所述的方法,其特征在于,在所述命令描述符中指定需要神经网络加速器进行的操作,并在所述命令描述符中指定所述系统存储器中的数据位置。
5.如权利要求1所述的方法,其特征在于,在由主控单元通知所述加速器需要处理的命令条数之后,切换所述主控单元以执行其它任务。
6.如权利要求1所述的方法,其特征在于,在加速器将计算结果存储到所述系统存储器的第一存储位置后,更新系统存储器中在硬件初始化阶段指定的第二存储位置的信息。
7.如权利要求1所述的方法,其特征在于,主控单元基于硬件初始化阶段指定的第二存储位置的信息的变化判断加速器是否完成加速计算。
8.如权利要求1所述的方法,其特征在于,在加速器将计算结果存储到所述系统存储器的第一存储位置之后,所述加速器等待所述主控单元下发新任务。
9.一种异构计算系统,包括:
主控单元;
一个或多个加速器;以及
系统存储器,
其中所述主控单元用于:在初始化阶段完成加速器的基本配置,将需要加速器进行处理的数据存储在系统存储器中,将命令描述符存储在所述系统存储器中,将命令字按照队列的方式存放在所述系统存储器中,所述主控单元仅通过单次寄存器访问通知所述加速器需要处理的命令条数,
所述加速器用于:基于初始化阶段的配置主动的从所述系统存储器中读取命令字并完成命令字解析,加速器内部解码单元将取回的命令操作符解析成多个内部操作序列,并行发送到加速器内部的不同组件用来激活操作,同时从系统存储器中读取需要处理的数据,在加速计算完成后将计算结果存储到所述系统存储器的第一存储位置,从而不通过中断方式告知主控单元加速完成,
所述主控单元用于:在执行间隔直接读取所述系统存储器的第二存储位置的信息,判断加速是否完成,从系统存储器的第一存储位置获取所述加速器的所述计算结果。
10.如权利要求9所述的异构计算系统,其特征在于,所述主控单元是一个或多个主控中央处理单元CPU。
11.如权利要求9所述的异构计算系统,其特征在于,所述主控单元是一个多核CPU的一个或多个核。
12.如权利要求9所述的异构计算系统,其特征在于,所述加速器为神经网络加速器。
13.如权利要求9所述的异构计算系统,其特征在于,所述基本配置包括在系统存储器中输入数据的基地址,权重的基地址以及当前加速结果输出的基地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海熠知电子科技有限公司,未经上海熠知电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810058099.9/1.html,转载请声明来源钻瓜专利网。