An embodiment of the present invention provides a method for heterogeneous acceleration of neural networks, including: the master control unit completes the basic configuration of the accelerator at the initialization stage; the master control unit stores the data to be processed by the accelerator in the system memory; and the master control unit stores the command descriptor in the system memory The master control unit stores the command word in the system memory in a queue manner; the master control unit notifies the accelerator of the number of command bars to be processed; the accelerator reads the command word from the system memory and completes command word resolution based on the configuration of the initialization phase, while storing from the system The accelerator stores the calculation results to the first storage location of the system memory, and the main control unit reads the first storage location of the system memory directly at execution intervals to obtain the calculation results of the accelerator.
【技术实现步骤摘要】
一种基于异步事件的神经网络异构加速方法和系统
本专利技术涉及计算机领域,尤其涉及一种基于异步事件的神经网络异构加速方法和系统。
技术介绍
神经网络的领域非常宽广,且涉及多种学科,吸引了许多不同领域的研究者的兴趣,同时在各个行业领域具有广阔的应用前景,例如,工程学、物理学、神经学、心理学、医学、数学、计算机科学、化学和经济学。同时,它也是人工智能领域的一项非常重要的核心技术。利用神经计算方法解决某些问题有许多优点,例如,容错能力强、具有自学习能力等。目前,神经网络计算数据模型繁多,结构复杂,主流模型含几十个隐含层,每层都在上千上万级的神经元,整个网络更多,其计算量巨大。为了克服巨大计算量的问题,例如,目前用于深度学习的训练计算机大致采用两类方式:第一类是服务器/工作站架构(支持2、4、8块GPU架构),其普遍存在噪音大,无法放置于办公环境,必须放到专门的机房,维护成本高,另外数据存储带宽、延迟、容量也不尽如意的问题;第二类是分布式集群架构,这类方式性能强大,但是存在开发成本太高的问题。异构计算系统是由主处理器和加速器两种体系结构处理器搭建而成的计算机系统。通过协调地使用性能、结构各异的处理单元,能够满足不同的计算需求,以获取最大总体性能方式完成加速计算。因此,异构计算对以上神经网络计算问题的解决提供了较好的思路。现有常见的异构计算系统有CPU+GPU和CPU+MIC(超多核心)组成异构计算系统等。异构计算系统能够有效地获取高性能计算能力,具有可扩展性好、计算资源利用率高、发展潜力巨大等优点,目前已成为并行/分布计算领域中的研究热点之一。中国专利申请CN201 ...
【技术保护点】
1.一种神经网络异构加速的方法,包括:主控单元在初始化阶段完成加速器的基本配置;所述主控单元将需要加速器进行处理的数据存储在系统存储器中;所述主控单元将命令描述符存储在所述系统存储器中;所述主控单元将命令字按照队列的方式存放在所述系统存储器中;所述主控单元通知所述加速器需要处理的命令条数;所述加速器基于初始化阶段的配置从所述系统存储器中读取命令字并完成命令字解析,同时从所述系统存储器中读取需要处理的数据;所述加速器将计算结果存储到所述系统存储器的第一存储位置;所述主控单元在执行间隔直接读取所述系统存储器的第一存储位置,得到所述加速器的所述计算结果。
【技术特征摘要】
1.一种神经网络异构加速的方法,包括:主控单元在初始化阶段完成加速器的基本配置;所述主控单元将需要加速器进行处理的数据存储在系统存储器中;所述主控单元将命令描述符存储在所述系统存储器中;所述主控单元将命令字按照队列的方式存放在所述系统存储器中;所述主控单元通知所述加速器需要处理的命令条数;所述加速器基于初始化阶段的配置从所述系统存储器中读取命令字并完成命令字解析,同时从所述系统存储器中读取需要处理的数据;所述加速器将计算结果存储到所述系统存储器的第一存储位置;所述主控单元在执行间隔直接读取所述系统存储器的第一存储位置,得到所述加速器的所述计算结果。2.如权利要求1所述的方法,其特征在于,所述加速器为神经网络加速器。3.如权利要求1所述的方法,其特征在于,所述基本配置包括在系统存储器中输入数据的基地址,权重的基地址以及当前加速结果输出的基地址。4.如权利要求2所述的方法,其特征在于,在所述命令描述符中指定需要神经网络加速器进行的操作,并在所述命令描述符中指定所述系统存储器中的数据位置。5.如权利要求2所述的方法,其特征在于,通过单次寄存器访问通知所述神经网络加速器需要处理的命令条数。6.如权利要求1所述的方法,其特征在于,在由主控单元通知所述加速器需要处理的命令条数之后,切换所述主控单元以执行其它任务。7.如权利要求1所述的方法,其特征在于,在加速器将计算结果存储到所述系统存储器的第一存储位置后,更新系统存储器中在硬件初始化阶段指定的第二存储位置的信息。8.如权利要求1所述的方法,其特征在于,主控单元基于硬件初始化阶段指定的第二存储位置的信息的变化判断加速器是否完成加速计算。9.如权利要求1所述的方法,其特征在于,在加速器将计算结果存储到所述系统存储器的第一存储位置之...
【专利技术属性】
技术研发人员:陈亮,纪竞舟,黄宇扬,
申请(专利权)人:上海熠知电子科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。