System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机处理器,尤其涉及一种中央处理器与加速器交互方法、装置及电子设备。
技术介绍
1、随着人工智能、科学计算、视频处理、网络传输和信号处理等高计算密集应用领域的快速发展,对芯片的数据处理能力提出的要求也越来越高。除了利用激进的超标量技术、多核、多线程技术充分挖掘指令集和线程级并行性外,很多芯片采用ai(artificialintelligence,人工智能)处理器、图形处理器gpu(graphics processing unit)、数字信号处理器dsp、数据处理器dpu(data processing unit)及流处理器等作为加速器(accelerator)与通用处理器cpu(central processing unit,中央处理器)共同作为多核处理器的异构核心,进一步开发数据级并行(data level parallelism,dlp)。
2、其中,中央处理器与加速器之间的数据传输,通过ddr(double data rate sdram,双倍速率同步动态随机存储器,即内存)中转实现,传输速度较慢,影响数据传输的效率,这是亟需解决的问题。
技术实现思路
1、本公开提供一种中央处理器与加速器交互方法、装置及电子设备,旨在至少在一定程度上解决相关技术中的技术问题之一。
2、第一方面,本公开实施例提供一种中央处理器与加速器交互方法,该方法包括:
3、确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,以使加速器执行命令,其中
4、接收加速器执行命令的执行结果。
5、在一种可能实施的方式中,本公开实施例提供的方法中,命令包括阻塞模式和非阻塞模式。
6、在一种可能实施的方式中,本公开实施例提供的方法中,方法还包括:
7、在中央处理器和加速器之间设置一致性访问通道,以使加速器通过一致性访问通道直接访问中央处理器的内存。
8、在一种可能实施的方式中,本公开实施例提供的方法中,确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
9、响应于第一控制指令,通过命令接口向寄存器发送第一命令,第一命令用于指示将第一数据存入加速器。
10、在一种可能实施的方式中,本公开实施例提供的方法中,确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
11、响应于第二控制指令,通过命令接口向寄存器发送第二命令,第二命令用于指示从加速器中获取第二数据。
12、在一种可能实施的方式中,本公开实施例提供的方法中,寄存器中设置有特定地址空间和命令队列,则确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
13、响应于第三控制指令,将命令存放至加速器的特定地址空间;或者
14、响应于第三控制指令,将命令存放至命令队列;或者
15、响应于第四控制指令,在确定加速器已执行完当前命令的情况下,向加速器发送命令。
16、在一种可能实施的方式中,本公开实施例提供的方法中,响应于第三控制指令,将命令存放至命令队列之后,方法还包括:
17、命令队列中不存在空项时,确定命令队列已满;
18、停止发送命令,并持续监测命令队列直至命令队列中存在空项时,将命令存放至命令队列。
19、在一种可能实施的方式中,本公开实施例提供的方法中,命令队列中不存在空项时,确定命令队列已满,包括:
20、接收到加速器反馈的异常指令时,确定命令队列已满;/或
21、接收命令的返回值,若返回值为指示命令未执行成功的第一预设值,确定命令队列已满;/或
22、若设置的用于检查队列是否有空项的判断指令指示没有空项,则确定命令队列已满;/或
23、若命令的执行时长大于或等于预先设置的第一命令超时时长,则确定命令队列已满。在一种可能实施的方式中,本公开实施例提供的方法中,持续监测命令队列直至命令队列中存在空项时,将命令存放至命令队列,包括:
24、停止接受到异常指令时,确定命令队列存在空项,则将命令存放至命令队列;/或
25、接收返回值,若返回值为指示命令执行成功的第二预设值,确定命令队列存在空项,则将命令存放至命令队列;/或
26、若设置的用于检查队列是否有空项的判断指令指示存在空项,确定命令队列存在空项,则将命令存放至命令队列;/或
27、若命令的执行时长小于第一命令超时时长,确定命令队列存在空项,则将命令存放至命令队列。
28、在一种可能实施的方式中,本公开实施例提供的方法中,响应于第四控制指令,在确定加速器已执行完当前命令的情况下,向加速器发送命令,包括:
29、若命令的执行时长大于或等于预先设置的第二命令超时时长,则停止发送命令;/或
30、接收命令的返回值,若返回值为指示命令未执行成功的第三预设值,则停止发送命令。
31、在一种可能实施的方式中,本公开实施例提供的方法中,方法还包括:
32、若命令的执行时长小于第二命令超时时长,恢复发送命令;/或
33、接收命令的返回值,若返回值为指示命令执行成功的第四预设值,恢复发送命令。
34、第二方面,本公开实施例提供一种中央处理器与加速器交互装置,包括:
35、发送单元,用于确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,以使加速器执行命令,其中寄存器为加速器内部的本地随机存取存储器;
36、接收单元,用于接收加速器执行命令的执行结果。
37、在一种可能实施的方式中,本公开实施例提供的装置中,命令包括阻塞模式和非阻塞模式。
38、在一种可能实施的方式中,本公开实施例提供的装置中,发送单元具体用于:
39、在中央处理器和加速器之间设置一致性访问通道,以使加速器通过一致性访问通道直接访问中央处理器的内存。
40、在一种可能实施的方式中,本公开实施例提供的装置中,发送单元具体用于:
41、响应于第一控制指令,通过命令接口向寄存器发送第一命令,第一命令用于指示将第一数据存入加速器。
42、在一种可能实施的方式中,本公开实施例提供的装置中,发送单元具体用于:
43、响应于第二控制指令,通过命令接口向寄存器发送第二命令,第二命令用于指示从加速器中获取第二数据。
44、在一种可能实施的方式中,本公开实施例提供的装置中,寄存器中设置有特定地址空间和命令队列,则发送单元具体用于:
45、响应于第三控制指令,将命令存放至加速器的特定地址空间;或者
46、响应于第三控制指令,将命令存放至命令队列;或者
47、响应于第四控制指令,在确定加速器已执行完当前命令的情况下,向加速器发送命令。
本文档来自技高网...【技术保护点】
1.一种中央处理器与加速器交互方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述命令包括阻塞模式和非阻塞模式。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
5.根据权利要求4所述的方法,其特征在于,所述确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
6.根据权利要求4或5中任一项所述的方法,其特征在于,所述寄存器中设置有特定地址空间和命令队列,则所述确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
7.根据权利要求6所述的方法,其特征在于,所述响应于第三控制指令,将所述命令存放至命令队列之后,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述所述命令队列中不存在空项时,确定所述命令队列已满,包括:
9.根据权利要求8所述的方法,其特征在于,所述持续监测所述命令队列直至所述
10.根据权利要求6所述的方法,其特征在于,所述响应于第四控制指令,在确定所述加速器已执行完当前命令的情况下,向所述加速器发送所述命令,包括:
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
12.一种中央处理器与加速器交互装置,其特征在于,所述装置包括:
13.一种电子设备,包括:
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至11中任一项所述的方法。
...【技术特征摘要】
1.一种中央处理器与加速器交互方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述命令包括阻塞模式和非阻塞模式。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
5.根据权利要求4所述的方法,其特征在于,所述确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
6.根据权利要求4或5中任一项所述的方法,其特征在于,所述寄存器中设置有特定地址空间和命令队列,则所述确定存在数据传输需求时,通过命令接口发送命令至加速器的寄存器,包括:
7.根据权利要求6所述的方法,其特征在于,所述响应于第三控制指令,将所述命令存放至命令队列之后,所...
【专利技术属性】
技术研发人员:李祖松,郇丹丹,
申请(专利权)人:北京微核芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。