计算设备、同步方法、电子设备和存储介质技术

技术编号:37843429 阅读:17 留言:0更新日期:2023-06-14 09:48
本公开提供了一种计算设备、用于计算设备的同步方法、电子设备和计算机可读存储介质。该计算设备包括:至少一个生产者计算簇和至少一个消费者计算簇,其中每个生产者计算簇被配置为通过存储类指令将所产生的数据存储至所述至少一个消费者计算簇中的一个消费者计算簇,并且向所述消费者计算簇通知与所述存储类指令相关联的同步屏障标识符以执行与所述消费者计算簇的基于指令的同步,以及所述消费者计算簇被配置为基于所述存储类指令以及同步屏障指令执执行与所述生产者计算簇之间的基于指令的同步。于指令的同步。于指令的同步。

【技术实现步骤摘要】
计算设备、同步方法、电子设备和存储介质


[0001]本公开概括而言涉及处理器领域,更具体地,涉及一种计算设备、用于该计算设备的同步方法、电子设备和计算机可读存储介质。

技术介绍

[0002]当前,各种计算设备的结构越来越复杂,计算设备内部的硬件层级越来越多,需要解决各种层级之间的数据交互的同步问题。例如,对于包含多个计算簇的计算设备而言,如果产生数据的计算簇需要将所产生的数据写入同一计算簇以供该计算簇使用这些数据执行后续处理,则使用数据的计算簇需要知道其是否以及何时收集了所有数据。
[0003]在现有技术中,使用基于线程束(wrap)的同步屏障(barrier)机制,通过对线程束进行计数来实现计算簇之间的同步。然而,这种同步屏障机制不能解决某些特定指令,如存储类指令,的同步,必须使用单独的屏障指令。

技术实现思路

[0004]针对上述问题,本公开提供了一种基于指令的同步屏障机制,通过在已有存储类指令中加入同步所需信息并对指令进行计数来实现计算簇之间的同步,从而避免了对这些存储类指令引入新的屏障指令。
[0005]根据本公开的一个方面,提供了一种计算设备。该计算设备包括至少一个生产者计算簇和至少一个消费者计算簇,其中每个生产者计算簇被配置为通过存储类指令将所产生的数据存储至所述至少一个消费者计算簇中的一个消费者计算簇,并且向所述消费者计算簇通知与所述存储类指令相关联的同步屏障标识符以执行与所述消费者计算簇的基于指令的同步,以及所述消费者计算簇被配置为基于所述存储类指令以及同步屏障指令执行与所述生产者计算簇之间的基于指令的同步。
[0006]在一些实现中,所述同步屏障指令包含同步屏障标识符和与所述同步屏障标识符相关联的指令计数值,其中所述消费者计算簇被配置为基于与所述存储类指令相关联的同步屏障标识符、所述同步屏障指令的同步屏障标识符以及所述指令计数值执行与所述生产者计算簇之间的基于指令的同步。
[0007]在一些实现中,所述存储类指令包括存储指令和归约存储指令。
[0008]在一些实现中,计算设备还包括与每个消费者计算簇相关联的同步屏障存储单元,其中所述同步屏障存储单元被配置为保存与所述消费者计算簇相关的同步屏障标识符和指令计数值的列表。
[0009]在一些实现中,所述消费者计算簇被配置为:在接收到每个所述存储类指令以及在执行所述同步屏障指令时,将与所述同步屏障标识符相关联的计数器的值加一;确定所述计数器的当前值是否等于与所述同步屏障标识符相关联的指令计数值;如果确定所述计数器的当前值不等于与所述同步屏障标识符相关联的指令计数值,暂停以等待来自其他生产者计算簇的包含所述同步屏障标识符的存储类指令;以及如果确定所述计数器的当前值
等于与所述同步屏障标识符相关联的指令计数值,继续执行所述同步屏障指令所位于的线程束中的后续指令并重置所述计数器。
[0010]在一些实现中,其中每个生产者计算簇还被配置为通过地址设置指令设置所述同步屏障标识符的同步屏障基地址并且通过所述存储类指令设置所述同步屏障标识符的同步屏障偏移。
[0011]在一些实现中,所述指令计数值基于与所述消费者计算簇对应的生产者计算簇的数量、每个生产者计算簇中的线程束的数量以及每个线程束中的存储类指令的数量确定。
[0012]在一些实现中,所述至少一个生产者计算簇和所述至少一个消费者计算簇被配置为一个广播组,并且每个生产者计算簇和每个消费者计算簇分别包含一个代表性线程束,其中所述存储类指令位于所述生产者计算簇的代表性线程束中,所述同步屏障指令位于所述消费者计算簇的代表性线程束中,并且所述存储类指令还包含所述广播组的标识符和广播操作指示符,所述同步屏障指令还包含所述广播组的标识符。
[0013]在一些实现中,所述指令计数值基于所述广播组中的计算簇的数量和每个生产者计算簇中的代表性线程束中的存储类指令的数量确定。
[0014]根据本公开的另一个方面,提供了一种用于计算设备的同步方法。所述计算设备包括至少一个生产者计算簇和至少一个消费者计算簇。所述同步方法包括:由每个生产者计算簇通过存储类指令将所产生的数据存储至所述至少一个消费者计算簇中的一个消费者计算簇,并且向所述消费者计算簇通知与所述存储类指令相关联的同步屏障标识符以执行与所述消费者计算簇的基于指令的同步,以及由所述消费者计算簇基于所述存储类指令以及同步屏障指令执行与所述生产者计算簇之间的基于指令的同步。
[0015]在一些实现中,所述同步屏障指令包含同步屏障标识符和与所述同步屏障标识符相关联的指令计数值,其中,由所述消费者计算簇基于与所述存储类指令相关联的同步屏障标识符、所述同步屏障指令的同步屏障标识符以及所述指令计数值执行与所述生产者计算簇之间的基于指令的同步。
[0016]在一些实现中,所述计算设备还包括与每个消费者计算簇相关联的同步屏障存储单元,并且所述同步方法还包括:在所述同步屏障存储单元中保存与所述消费者计算簇相关的同步屏障标识符和指令计数值的列表。
[0017]在一些实现中,由所述消费者计算簇基于所述存储类指令以及同步屏障指令执行与所述生产者计算簇之间的基于指令的同步包括:在接收到每个所述存储类指令以及在执行所述同步屏障指令时,将与所述同步屏障标识符相关联的计数器的值加一;确定所述计数器的当前值是否等于与所述同步屏障标识符相关联的指令计数值;如果确定所述计数器的当前值不等于与所述同步屏障标识符相关联的指令计数值,暂停以等待来自其他生产者计算簇的包含所述同步屏障标识符的存储类指令;以及如果确定所述计数器的当前值等于与所述同步屏障标识符相关联的指令计数值,继续执行所述同步屏障指令所位于的线程束中的后续指令并重置所述计数器。
[0018]在一些实现中,所述指令计数值基于与所述消费者计算簇对应的生产者计算簇的数量、每个生产者计算簇中的线程束的数量以及每个线程束中的存储类指令的数量确定。
[0019]在一些实现中,所述至少一个生产者计算簇和所述至少一个消费者计算簇被配置为一个广播组,并且每个生产者计算簇和每个消费者计算簇分别包含一个代表性线程束,
其中所述存储类指令位于所述生产者计算簇的代表性线程束中,所述同步屏障指令位于所述消费者计算簇的代表性线程束中,并且所述存储类指令还包含所述广播组的标识符和广播操作指示符,所述同步屏障指令还包含所述广播组的标识符。
[0020]在一些实现中,所述指令计数值基于所述广播组中的计算簇的数量和每个生产者计算簇的代表性线程束中的存储类指令的数量确定。
[0021]根据本公开的又一个方面,提供了一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令;其中,所述计算机可执行指令被所述处理器运行时实现如上所述的方法。
[0022]根据本公开的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序代码,该计算机程序代码在被运行时执行如上所述的方法。
附图说明
[0023]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算设备,包括至少一个生产者计算簇和至少一个消费者计算簇,其中每个生产者计算簇被配置为通过存储类指令将所产生的数据存储至所述至少一个消费者计算簇中的一个消费者计算簇,并且向所述消费者计算簇通知与所述存储类指令相关联的同步屏障标识符以执行与所述消费者计算簇的基于指令的同步,以及所述消费者计算簇被配置为基于所述存储类指令以及同步屏障指令执行与所述生产者计算簇之间的基于指令的同步。2.如权利要求1所述的计算设备,其中所述同步屏障指令包含同步屏障标识符和与所述同步屏障标识符相关联的指令计数值,其中所述消费者计算簇被配置为基于与所述存储类指令相关联的同步屏障标识符、所述同步屏障指令的同步屏障标识符以及所述指令计数值执行与所述生产者计算簇之间的基于指令的同步。3.如权利要求1所述的计算设备,其中所述存储类指令包括存储指令和归约存储指令。4.如权利要求2所述的计算设备,还包括与每个消费者计算簇相关联的同步屏障存储单元,其中所述同步屏障存储单元被配置为保存与所述消费者计算簇相关的同步屏障标识符和指令计数值。5.如权利要求2所述的计算设备,其中所述消费者计算簇被配置为:在接收到每个所述存储类指令以及在执行所述同步屏障指令时,将与所述同步屏障标识符相关联的计数器的值加一;确定所述计数器的当前值是否等于与所述同步屏障标识符相关联的指令计数值;如果确定所述计数器的当前值不等于与所述同步屏障标识符相关联的指令计数值,暂停以等待来自其他生产者计算簇的包含所述同步屏障标识符的存储类指令;以及如果确定所述计数器的当前值等于与所述同步屏障标识符相关联的指令计数值,继续执行所述同步屏障指令所位于的线程束中的后续指令并重置所述计数器。6.如权利要求1所述的计算设备,其中每个生产者计算簇还被配置为通过地址设置指令设置所述同步屏障标识符的同步屏障基地址并且通过所述存储类指令设置所述同步屏障标识符的同步屏障偏移。7.如权利要求2所述的计算设备,其中所述指令计数值基于与所述消费者计算簇对应的生产者计算簇的数量、每个生产者计算簇中的线程束的数量以及每个线程束中的存储类指令的数量确定。8.如权利要求2所述的计算设备,其中所述至少一个生产者计算簇和所述至少一个消费者计算簇被配置为一个广播组,并且每个生产者计算簇和每个消费者计算簇分别包含一个代表性线程束,其中所述存储类指令位于所述生产者计算簇的代表性线程束中,所述同步屏障指令位于所述消费者计算簇的代表性线程束中,并且所述存储类指令还包含所述广播组的标识符和广播操作指示符,所述同步屏障指令还包含所述广播组的标识符。9.如权利要求8所述的计算设备,其中所述指令计数值基于所述广播组中的计算簇的数量和每个生产者计算簇的代表性线程束中的存储类指令的数量确定。10.一种用于计算设备的同步方法,所述计算设备包括至少一个生产者计算簇和至少一个消费者计算簇,所述同步方法包括:由每个生产者计算...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

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

1