【技术实现步骤摘要】
本公开涉及芯片领域,更具体地,涉及芯片的片间通信领域。
技术介绍
1、如何基于芯片特有的高效片间通信装置进行软件编程,是实现高可扩展性人工智能网络训练的关键问题。片间通信的核心难题有两个:一个是如何将数据写向远端芯片,另一个问题是如何在远端芯片感知等待数据是否已经到达。其中,后者的通信同步是本文关注的主要问题。然而,计算核用于轮询将导致计算资源极其紧缺,并最终导致通信死锁。如何在单计算核的情况下避免通信死锁,提升计算资源利用率是一个期待解决的问题。
技术实现思路
1、本公开的一个目的在于解决如何利用人工智能芯片的单计算核通过协程编程方式避免通信死锁。本公开进一步的目的在于如何利用人工智能芯片的单计算核通过协程编程方式完成时分复用的片间通信,支持并发通信任务。
2、根据本公开的第一方面,提供一种执行片间通信任务的方法,其中,所述片间通信任务通过通信原语队列来描述,并且所述通信原语队列包括多个通信原语,所述多个通信原语包括串行连接的串行通信原语,所述方法包括:执行针对通信原语队列的
...【技术保护点】
1.一种执行片间通信任务的方法,其中,所述片间通信任务通过通信原语队列来描述,并且所述通信原语队列包括多个通信原语,所述多个通信原语包括串行连接的串行通信原语,所述方法包括:
2.根据权利要求1所述的方法,进一步包括:
3.根据权利要求2所述的方法,进一步包括:
4.根据权利要求3所述的方法,其中,对于单个计算核的情形,最多一个串行通信原语处于工作中状态。
5.根据权利要求3所述的方法,其中,在所述通信原语队列中,在后的串行通信原语的工作状态禁止处于在前的串行通信原语的工作状态之后。
6.根据权利要求1-5中
...【技术特征摘要】
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所述的方法,其中,分时地执行所述并发通信原语包括:使得并发通信原...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。