[发明专利]一种芯片及基于其的数据处理方法有效
申请号: | 201811156129.6 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109359732B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 潘国振;徐建国;刘永超;章海涛;黄启印;朱冠胤 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;周良玉 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 芯片 基于 数据处理 方法 | ||
本说明书实施例提供一种芯片及基于其的数据处理方法,所述芯片包括嵌入式CPU和多个算子单元,用于执行计算任务,所述方法在芯片端执行,包括:获取待处理数据;以及通过由所述嵌入式CPU执行以下步骤而进行所述计算任务的计算:配置所述多个算子单元,以使得所述多个算子单元与该计算任务中包括的不同类型的计算分别对应,以及,基于所述待处理数据,通过调用所述多个算子单元,进行所述计算任务的计算,以获取处理结果。
技术领域
本说明书实施例涉及数据处理技术领域,更具体地,涉及一种芯片及基于其的数据处理方法。
背景技术
随着AI技术的发展,其对计算量的需求越来越大,特别是作为线上服务的神经网络预测对处理时延有着相当苛刻的要求,在该情况下,服务器CPU上跑的软件通常满足不了这种要求。现有技术中,通过硬件加速的方法来缩短这种处理时延,在该情况中,需要硬件具备一定的灵活性,以满足神经网络结构的升级以及待处理数据长短的变化。当程序遇到一大段计算量时,它会把待处理的数据通过PCIE总线发给芯片,芯片算完之后再通过PCIE总线将结果传回程序内存。芯片上的运算单元通常被设计成较通用的,通过服务器CPU下发的控制参数来指定具体怎么运算,比如通过一个通用的卷积运算单元来处理各种卷积操作。但如果一段程序包含有多次芯片运算单元的调用,服务器CPU和芯片之间数据交互的开销就会非常大。目前通用的做法是在芯片上把各个运算单元如卷积的控制设计成格式化的二进制指令,然后把神经网络的各层调用映射到这些指令上、并集合成一个序列,再下放到芯片上,芯片上的逻辑解析每一条指令并启动相应的运算单元。
因此,需要一种更有效的基于芯片的数据处理方案。
发明内容
本说明书实施例旨在提供一种更有效的基于芯片的数据处理方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种基于芯片的数据处理方法,所述芯片包括嵌入式CPU和多个算子单元,用于执行计算任务,所述方法在芯片端执行,包括:
获取待处理数据;以及
通过由所述嵌入式CPU执行以下步骤而进行所述计算任务的计算:配置所述多个算子单元,以使得所述多个算子单元与该计算任务中包括的不同类型的计算分别对应,以及,基于所述待处理数据,通过调用所述多个算子单元,进行所述计算任务的计算,以获取处理结果。
本说明书另一方面提供一种基于芯片的数据处理方法,所述芯片包括嵌入式CPU和多个算子单元,用于执行神经网络的预测计算,所述方法在芯片端执行,包括:
获取待处理数据;以及
基于所述待处理数据,执行所述神经网络中的每一层的计算,以获取处理结果,其中,通过由所述嵌入式CPU执行以下步骤而进行所述神经网络的每一层的计算:配置所述多个算子单元,以使得所述多个算子单元与该层中包括的不同类型的计算分别对应,以及,基于神经网络上一层中各个神经元的值,通过调用所述多个算子单元,执行该层中每个神经元处的计算,以获取该层中每个神经元的值。
在一个实施例中,在所述数据处理方法中,所述芯片与服务器连接。
在一个实施例中,在所述数据处理方法中,所述待处理数据通过所述服务器传送至所述芯片。
在一个实施例中,在所述数据处理方法中,所述嵌入式CPU通过运行基于程序的汇编指令而执行所述步骤,其中,所述程序由所述服务器传送至所述芯片。
在一个实施例中,在所述数据处理方法中,所述程序为C语言程序。
在一个实施例中,在所述数据处理方法中,调用所述多个算子单元包括,通过C语言程序中的函数调用,调用所述多个算子单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811156129.6/2.html,转载请声明来源钻瓜专利网。