System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种执行片间通信任务的方法和相关产品技术_技高网

一种执行片间通信任务的方法和相关产品技术

技术编号:41672175 阅读:7 留言:0更新日期:2024-06-14 15:28
本公开提供一种执行片间通信任务的方法和相关产品,其中该方法可以包括在组合处理装置中,该组合处理装置还可以包括通用互联接口和其他处理装置。所述计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与设备和其他处理装置连接,用于存储该设备和其他处理装置的数据。

【技术实现步骤摘要】

本公开涉及芯片领域,更具体地,涉及芯片的片间通信领域。


技术介绍

1、如何基于芯片特有的高效片间通信装置进行软件编程,是实现高可扩展性人工智能网络训练的关键问题。片间通信的核心难题有两个:一个是如何将数据写向远端芯片,另一个问题是如何在远端芯片感知等待数据是否已经到达。其中,后者的通信同步是本文关注的主要问题。然而,计算核用于轮询将导致计算资源极其紧缺,并最终导致通信死锁。如何在单计算核的情况下避免通信死锁,提升计算资源利用率是一个期待解决的问题。


技术实现思路

1、本公开的一个目的在于解决如何利用人工智能芯片的单计算核通过协程编程方式避免通信死锁。本公开进一步的目的在于如何利用人工智能芯片的单计算核通过协程编程方式完成时分复用的片间通信,支持并发通信任务。

2、根据本公开的第一方面,提供一种执行片间通信任务的方法,其中,所述片间通信任务通过通信原语队列来描述,并且所述通信原语队列包括多个通信原语,所述多个通信原语包括串行连接的串行通信原语,所述方法包括:执行针对通信原语队列的搜索,以确定所述通信原语队列中串行通信原语的状态;响应于搜索到发生中断的串行通信原语,从所述发生中断的串行通信原语处开始,重新执行所述通信原语队列。

3、根据本公开的第二方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,所述存储器中存储有计算机可执行指令,当所述计算机可执行指令由所述一个或多个处理器运行时,使得所述电子设备执行如上所述的方法。

4、根据本公开的第三方面,提供一种计算机可读存储介质,包括计算机可执行指令,当所述计算机可执行指令由一个或多个处理器运行时,执行如上所述的方法。

5、本公开提供的技术方案能够带来如下至少一个有益效果:无需引入硬件多线程机制下,利用软件协程方法实现计算核的分时复用能力,从而能够充分地利用计算核、避免任务死锁。协程执行流程对硬件改动较小,普遍支持各类simd处理架构实现软件分时复用。此外,通过原语跳跃机制支持异步通信原语的异步确认方式,可以在op逻辑不修改的情况下,实现自动软件通信重传。通过交替执行机制,可以支持多个通信原语的并发执行,该实现类似于单核多线程的效果,节省了计算核的使用。该本公开的方案足以解决通信阻塞所带来的死锁问题。

本文档来自技高网...

【技术保护点】

1.一种执行片间通信任务的方法,其中,所述片间通信任务通过通信原语队列来描述,并且所述通信原语队列包括多个通信原语,所述多个通信原语包括串行连接的串行通信原语,所述方法包括:

2.根据权利要求1所述的方法,进一步包括:

3.根据权利要求2所述的方法,进一步包括:

4.根据权利要求3所述的方法,其中,对于单个计算核的情形,最多一个串行通信原语处于工作中状态。

5.根据权利要求3所述的方法,其中,在所述通信原语队列中,在后的串行通信原语的工作状态禁止处于在前的串行通信原语的工作状态之后。

6.根据权利要求1-5中任意一项所述的方法,进一步包括:响应于串行通信原语发生通信阻塞,在发生通信阻塞的串行通信原语处退出所述通信原语队列的执行。

7.根据权利要求1-6中任意一项所述的方法,进一步包括:响应于串行通信原语发生通信阻塞,使得相应的串行通信原语的工作状态保持在已执行状态。

8.根据权利要求1-7中任意一项所述的方法,其中,从所述发生中断的串行通信原语处开始,重新执行所述通信原语队列包括:

9.根据权利要求1-8中任意一项所述的方法,其中,所述多个通信原语进一步包括可并发执行的并发通信原语,所述方法进一步包括:以分时的方式来执行所述并发通信原语。

10.根据权利要求9所述的方法,进一步包括:

11.根据权利要求10所述的方法,其中,分时地执行所述并发通信原语包括:使得并发通信原语从等待状态交替进入工作中状态。

12.根据权利要求10或11所述的方法,其中,根据所述并发通信原语的状态,重新执行所述并发通信原语包括:

13.根据权利要求12所述的方法,其中,重新执行所述并发通信原语包括:对于已经部分执行过的并发通信原语,仅重新执行该并发通信原语中未被执行过的那部分。

14.根据权利要求12所述的方法,其中,根据所述并发通信原语的状态,重新执行所述并发通信原语进一步包括:略过处于确认状态的并发通信原语而无需重新执行。

15.根据权利要求10-14中任意一项所述的方法,其中,根据所述并发通信原语的状态,退出执行所述并发通信原语包括:

16.根据权利要求10-15中任意一项所述的方法,其中,根据所述并发通信原语的状态,退出执行所述并发通信原语包括:

17.根据权利要求15或16所述的方法,其中,响应于退出执行所述并发通信原语,在所述并发开始标识处加入恢复标识。

18.根据权利要求17所述的方法,进一步包括:响应于搜索到所述恢复标识,重新执行发生通信阻塞的并发通信原语。

19.根据权利要求10-18中任意一项所述的方法,其中,根据所述并发通信原语的状态,退出执行所述并发通信原语包括:

20.一种电子设备,包括:

21.一种计算机可读存储介质,包括计算机可执行指令,当所述计算机可执行指令由一个或多个处理器运行时,执行如权利要求1-19中任意一项所述的方法。

...

【技术特征摘要】

1.一种执行片间通信任务的方法,其中,所述片间通信任务通过通信原语队列来描述,并且所述通信原语队列包括多个通信原语,所述多个通信原语包括串行连接的串行通信原语,所述方法包括:

2.根据权利要求1所述的方法,进一步包括:

3.根据权利要求2所述的方法,进一步包括:

4.根据权利要求3所述的方法,其中,对于单个计算核的情形,最多一个串行通信原语处于工作中状态。

5.根据权利要求3所述的方法,其中,在所述通信原语队列中,在后的串行通信原语的工作状态禁止处于在前的串行通信原语的工作状态之后。

6.根据权利要求1-5中任意一项所述的方法,进一步包括:响应于串行通信原语发生通信阻塞,在发生通信阻塞的串行通信原语处退出所述通信原语队列的执行。

7.根据权利要求1-6中任意一项所述的方法,进一步包括:响应于串行通信原语发生通信阻塞,使得相应的串行通信原语的工作状态保持在已执行状态。

8.根据权利要求1-7中任意一项所述的方法,其中,从所述发生中断的串行通信原语处开始,重新执行所述通信原语队列包括:

9.根据权利要求1-8中任意一项所述的方法,其中,所述多个通信原语进一步包括可并发执行的并发通信原语,所述方法进一步包括:以分时的方式来执行所述并发通信原语。

10.根据权利要求9所述的方法,进一步包括:

11.根据权利要求10所述的方法,其中,分时地执行所述并发通信原语包括:使得并发通信原...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:中科寒武纪科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1