【技术实现步骤摘要】
运算方法、系统及相关产品
本公开涉及信息处理
,尤其涉及一种数据读入指令处理方法、系统及相关产品。
技术介绍
随着科技的不断发展,神经网络算法的使用越来越广泛。其在图像识别、语音识别、自然语言处理等领域中都得到了良好的应用。但由于神经网络算法的复杂度越来越高,其模型的规模不断增大。基于图形处理器(GraphicsProcessingUnit,简称GPU)、中央处理器(CentralProcessingUnit,简称CPU)的大规模的神经网络模型,要花费大量的计算时间,且耗电量大。相关技术中,对神经网络模型的处理速度进行加快的方式存在无法跨平台处理、处理效率低、开发成本高、易出错等问题。
技术实现思路
有鉴于此,本公开提出了一种数据读入指令处理方法、系统及相关产品,使其能够跨平台使用,提高处理效率,降低出错几率和开发成本。根据本公开的第一方面,提供了一种数据读入指令处理系统,所述系统包括指令生成设备和运行设备,所述指令生成设备,包括:设备确定模块,用于根据接收到的读宏指令,确定执行所述读宏指令的运行设备;指令生成模块,用于根据所述读宏指令和所述运行设备,生成运行指令;所述运行设备,包括:控制模块,用于获取所需数据、神经网络模型以及所述运行指令,对所述运行指令进行解析,获得多个解析指令;执行模块,用于根据所述数据执行所述多个解析指令,得到执行结果,其中,所述读宏指令是指用于进行数据读入的宏指令,所述读宏指令包含操作类型、数据 ...
【技术保护点】
1.一种数据读入处理系统,其特征在于,所述系统包括指令生成设备和运行设备,/n所述指令生成设备,包括:/n设备确定模块,用于根据接收到的读宏指令,确定执行所述读宏指令的运行设备;/n指令生成模块,用于根据所述读宏指令和所述运行设备,生成运行指令;/n所述运行设备,包括:/n控制模块,用于获取所需数据、神经网络模型以及所述运行指令,对所述运行指令进行解析,获得多个解析指令;/n执行模块,用于根据所述数据执行所述多个解析指令,得到执行结果,/n其中,所述读宏指令是指用于进行数据读入的宏指令,/n所述读宏指令包含操作类型、数据读入地址、数据加密方式地址,所述运行指令中包含所述操作类型、运行数据读入地址和运行数据加密方式地址,所述运行数据读入地址和运行数据加密方式地址分别是根据所述数据读入地址和所述数据加密方式地址确定的。/n
【技术特征摘要】
1.一种数据读入处理系统,其特征在于,所述系统包括指令生成设备和运行设备,
所述指令生成设备,包括:
设备确定模块,用于根据接收到的读宏指令,确定执行所述读宏指令的运行设备;
指令生成模块,用于根据所述读宏指令和所述运行设备,生成运行指令;
所述运行设备,包括:
控制模块,用于获取所需数据、神经网络模型以及所述运行指令,对所述运行指令进行解析,获得多个解析指令;
执行模块,用于根据所述数据执行所述多个解析指令,得到执行结果,
其中,所述读宏指令是指用于进行数据读入的宏指令,
所述读宏指令包含操作类型、数据读入地址、数据加密方式地址,所述运行指令中包含所述操作类型、运行数据读入地址和运行数据加密方式地址,所述运行数据读入地址和运行数据加密方式地址分别是根据所述数据读入地址和所述数据加密方式地址确定的。
2.根据权利要求1所述的系统,其特征在于,所述指令生成设备还包括:
资源获取模块,用于获取备选设备的资源信息,
所述设备确定模块,包括以下至少一个子模块:
第一确定子模块,用于在确定所述读宏指令中包含指定设备的标识,且所述指定设备的资源满足执行所述读宏指令的执行条件时,将所述指定设备确定为所述运行设备;
第二确定子模块,用于在确定所述读宏指令中不包含所述指定设备的标识时,根据接收到的读宏指令和所述备选设备的资源信息,从所述备选设备中确定出用于执行所述读宏指令的运行设备;
第三确定子模块,在确定所述读宏指令中包含所述指定设备的标识,且所述指定设备的资源不满足执行所述读宏指令的执行条件时,根据所述读宏指令和所述备选设备的资源信息,确定运行设备,
其中,所述执行条件包括:所述指定设备中包含与所述读宏指令相对应的指令集,所述资源信息包括所述备选设备所包含的指令集。
3.根据权利要求2所述的系统,其特征在于,所述读宏指令还包含读入量,
所述指令生成模块,还用于确定所述读宏指令的数据量,根据所述数据量、所述读宏指令和所述运行设备的资源信息,生成运行指令,
其中,所述数据量是根据所述读入量确定的,所述运行设备的资源信息还包括存储容量、剩余存储容量的至少一项。
4.根据权利要求3所述的系统,其特征在于,所述指令生成模块,包括以下至少一个子模块:
第一指令生成子模块,用于在确定所述运行设备为一个,且所述运行设备的运行数据量小于所述读宏指令的数据量时,根据所述运行设备的运行数据量和所述数据量将所述读宏指令拆分成多条运行指令,以使所述运行设备依次执行多条运行指令,
第二指令生成子模块,用于在确定所述运行设备为多个时,根据每个运行设备的运行数据量和所述数据量对所述读宏指令进行拆分,生成对应于每个运行设备的运行指令,
其中,运行设备的运行数据量是根据运行设备的资源信息确定的,所述运行指令还包含运行读入量,所述运行读入量是根据执行所述运行指令的运行设备的运行数据量确定的。
5.根据权利要求1所述的系统,其特征在于,所述指令生成设备还包括:
队列构建模块,用于根据队列排序规则对所述运行指令进行排序,根据排序后的运行指令构建与所述运行设备相对应的指令队列。
6.根据权利要求2所述的系统,其特征在于,所述指令生成设备还包括:
宏指令生成模块,用于接收待执行读指令,根据确定的指定设备的标识和所述待执行读指令生成所述读宏指令。
7.根据权利要求1所述的系统,其特征在于,所述指令生成设备还包括:
指令分派模块,用于将所述运行指令发送至所述运行设备,以使所述运行设备执行所述运行指令,
其中,所述指令分派模块,包括:
指令汇编子模块,用于根据所述运行指令生成汇编文件;
汇编翻译子模块,用于将所述汇编文件翻译成二进制文件;
指令发送子模块,用于将所述二进制文件发送至所述运行设备,以使所述运行设备根据所述二进制文件执行所述运行指令。
8.根据权利要求1所述的系统,其特征在于,所述运行设备,还包括:
存储模块,所述存储模块包括寄存器、缓存中任意组合,所述缓存包括高速暂存缓存,
所述缓存,用于存储所述数据;
所述寄存器,用于存储所述数据中标量数据。
9.根据权利要求1所述的系统,其特征在于,所述控制模块,包括:
指令存储子模块,用于存储所述运行指令;
指令处理子模块,用于对所述运行指令进行解析,得到所述多个解析指令;
存储队列子模块,用于存储运行指令队列,所述运行指令队列包括所述运行指令和所述多个解析指令,所述运行指令队列所述运行指令和所述多个解析指令按照被执行的先后顺序依次排列。
10.根据权利要求9所述的系统,其特征在于,所述执行模块,包括:
依赖关系处理子模块,用于在确定第一解析指令与所述第一解析指令之前的第零解析指令存在关联关系时,将所述第一解析指令缓存在所述指令存储子模块中,在所述第零解析指令执行完毕后,从所述指令存储子模块中提取所述第一解析指令发送至所述执行模块,
其中,所述第一解析指令与所述第一解析指令之前的第零解析指令存在关联关系包括:
存储所述第一解析指令所需数据的第一存储地址区间与存储所述第零解析指令所需数据的第零存储地址区间具有重叠的区域。
11.根据权利要求1所述的系统,其特征在于,
所述运行设备为CPU、GPU和NPU中的其中一种或任意组合;
所述指令生成设备设置于CPU和/或NPU中;
所述读宏指令包括读神经元宏指令、读突触宏指令和读标量宏指令中的至少一种。
12.一种机器学习运算装置,其特征在于,所述装置包括:
一个或多个如权利要求1-11任一项所述的数据读入指令处理系统,用于从其他处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其他处理装置;
当所述机器学习运算装置包含多个所述数据读入指令处理系统时,所述多个所述数据读入指令处理系统间可以通过特定的结构进行连接并传输数据;
其中,多个所述数据读入指令处理系统通过快速外部设备互连总线PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算;多个所述数据读入指令处理系统共享同一控制系统或拥有各自的控制系统;多个所述数据读入指令处理系统共享内存或者拥有各自的内存;多个所述数据读入指令处理系统的互联方式是任意互联拓扑。
13.一种组合处理装置,其特征在于,所述组合处理装置包括:
如...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。