System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,特别涉及一种指令处理方法及装置、电子设备、计算机可读存储介质。
技术介绍
1、随着人工智能应用的普及,对神经网络计算的需求日益增长,神经网络计算变得越来越重要。然而,神经网络所需的大量计算和存储使得通用处理器难以有效执行这些任务。因此,人们开发了许多专门的神经网络加速架构,其中众核系统(包括众核芯片或板卡等)是一条重要的技术路径。在众核系统中,执行神经网络时通常将网络的不同算子分布在不同的处理核上,这个过程称为映射,而得到的方案则被称为映射方案。处理核之间的数据传输通过众核系统的片上网络(或称为路由系统)实现,而神经网络内部通常存在大量的数据传输。因为神经网络的多样性,不同算子对于计算与通信的需求不一样,可能会造成不同的性能瓶颈。
技术实现思路
1、本公开提供一种指令处理方法及装置、电子设备、计算机可读存储介质。
2、第一方面,本公开提供了一种指令处理方法,该方法包括:
3、确定众核系统中目标处理核待执行的算子执行序列,所述算子执行序列中包括多个算子指令,所述算子指令包括路由指令和计算指令,所述路由指令用于执行所述算子指令的数据传输操作,所述计算指令用于执行所述算子指令的计算操作;所述众核系统包括多个处理核,所述目标处理核是所述多个处理核中的任意一个;
4、根据所述算子执行序列的第一算子指令中路由指令的第一通信时长和计算指令的第一计算时长,从所述算子执行序列中确定与所述第一算子指令交错执行的第二算子指令;其中,所述第二算子指令中
5、根据所述第一通信时长、所述第一计算时长、所述第二通信时长及所述第二计算时长,对所述第一算子指令和所述第二算子指令进行切分,得到所述第一算子指令的多个第一执行段和所述第二算子指令的多个第二执行段;
6、将所述第一算子指令的多个第一执行段和所述第二算子指令的多个第二执行段映射到所述目标处理核,以使所述目标处理核交错执行第一算子指令的多个第一执行段和所述第二算子指令的多个第二执行段。
7、第二方面,本公开提供了一种指令处理装置,该装置包括:
8、算子序列确定模块,用于确定众核系统中目标处理核待执行的算子执行序列,所述算子执行序列中包括多个算子指令,所述算子指令包括路由指令和计算指令,所述路由指令用于执行所述算子指令的数据传输操作,所述计算指令用于执行所述算子指令的计算操作;所述众核系统包括多个处理核,所述目标处理核是所述多个处理核中的任意一个;
9、指令确定模块,用于根据所述算子执行序列的第一算子指令中路由指令的第一通信时长和计算指令的第一计算时长,从所述算子执行序列中确定与所述第一算子指令交错执行的第二算子指令;其中,所述第二算子指令中路由指令的第二通信时长和计算指令的第二计算时长之间的时长关系,与所述第一通信时长和所述第一计算时长之间的时长关系不同;
10、指令切分模块,用于根据所述第一通信时长、所述第一计算时长、所述第二通信时长及所述第二计算时长,对所述第一算子指令和所述第二算子指令进行切分,得到所述第一算子指令的多个第一执行段和所述第二算子指令的多个第二执行段;
11、指令映射模块,用于将所述第一算子指令的多个第一执行段和所述第二算子指令的多个第二执行段映射到所述目标处理核,以使所述目标处理核交错执行第一算子指令的多个第一执行段和所述第二算子指令的多个第二执行段。
12、第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的指令处理方法。
13、第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的指令处理方法。
14、本公开所提供的实施例,能够确定出处理核的算子执行序列中通信瓶颈和计算瓶颈的算子指令,将瓶颈互补的相应算子指令切分为多个执行段,并将算子指令的多个执行段映射到处理核,以使处理核交错执行算子指令的执行段,从而提高处理核计算资源与通信资源的利用率,提高神经网络执行的性能和效率。
15、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种指令处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述算子执行序列的第一算子指令中路由指令的第一通信时长和计算指令的第一计算时长,从所述算子执行序列中确定与所述第一算子指令交错执行的第二算子指令,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一通信时长大于所述第一计算时长且所述第二通信时长小于所述第二计算时长,
4.根据权利要求3所述的方法,其特征在于,所述对所述第一算子指令的计算指令进行切分,得到多个第一计算执行段,包括:
5.根据权利要求1所述的方法,其特征在于,所述第一通信时长小于所述第一计算时长且所述第二通信时长大于所述第二计算时长,
6.根据权利要求2所述的方法,其特征在于,所述在所述第一通信时长大于所述第一计算时长的情况下,根据所述算子执行序列中通信时长小于计算时长,且与所述第一算子指令无数据依赖关系的算子指令,确定第二算子指令,包括:
7.根据权利要求1所述的方法,其特征在于,所述第一通信时长大于所述第一计算时长且所述第二通信时长小于所述第二计
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,所述算子指令包括神经网络算子的操作指令,所述神经网络算子包括粗粒度操作,所述粗粒度操作用于表示完成一次处理需要的通信时长大于第一阈值和/或计算时长大于第二阈值的操作。
10.一种指令处理装置,其特征在于,包括:
11.一种电子设备,其特征在于,包括:
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-9中任一项所述的指令处理方法。
...【技术特征摘要】
1.一种指令处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述算子执行序列的第一算子指令中路由指令的第一通信时长和计算指令的第一计算时长,从所述算子执行序列中确定与所述第一算子指令交错执行的第二算子指令,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一通信时长大于所述第一计算时长且所述第二通信时长小于所述第二计算时长,
4.根据权利要求3所述的方法,其特征在于,所述对所述第一算子指令的计算指令进行切分,得到多个第一计算执行段,包括:
5.根据权利要求1所述的方法,其特征在于,所述第一通信时长小于所述第一计算时长且所述第二通信时长大于所述第二计算时长,
6.根据权利要求2所述的方法,其特征在于,所述在所述第一通信时长大于所述第一计算时长的情况下,根据所述算子执行序列中通信时长小于计算时长,且与所述第一算子指令无...
【专利技术属性】
技术研发人员:张伟豪,沈杨书,
申请(专利权)人:北京灵汐科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。