【技术实现步骤摘要】
用于协调计算机系统上的操作的高性能同步机制相关申请的交叉引用本申请要求2019年10月29日提交的第62/927417号临时申请和2019年10月29日提交的第62/927511号临时申请的权益,它们中每一个通过引用并入本文。本申请涉及2019年12月12日提交的共同分配共同未决的申请号为16/712083的美国专利申请,通过引用并入本文。关于联邦政府赞助的研究或开发的声明无
技术介绍
大规模并行的高性能多线程多核处理系统-包含许多并行运行的处理核的系统-处理数据的速度比过去更快。这些处理系统将复杂的计算分解为较小的任务,这些任务由并行处理核心同时执行。与只有一个或几个处理器按顺序执行相同计算时所需要的时间相比,这种“分而治之”的方法可以在很短的时间内执行复杂的计算。但是这种并行处理也产生需要在并行执行线程或块之间进行通信和协调的需求。不同执行过程相互协调其状态的一种方法是使用屏障同步。屏障同步通常涉及并行执行进程集合中的每个进程在屏障处等待,直到集合中的所有其他进程都赶上。除非所有进程都达到屏障,否则任何进程都无法超越屏障。图1A-图1H一起是说明这种屏障同步的示例的配套挂图动画。图1A示出了线程或其他执行进程T1、T2、...、TK。示出了三个线程,但可能有成百上千个线程。线程从一个共同点开始(例如,初始化点,先前的屏障等-在这里出于说明目的指定为“起点线”)。一个线程TK是“野兔”,它的执行速度比其他线程快,并且朝屏障前进的速度更快(此处通过铁路道口和图形“到达-等待点”表示,其含义将 ...
【技术保护点】
1.一种同步屏障,包括:/n存储在存储器中的数据结构,所述数据结构包括计数器;/n所述计数器通过由执行线程或者硬件操作符执行的操作修改。/n
【技术特征摘要】
20191029 US 62/927,511;20191212 US 16/712,2361.一种同步屏障,包括:
存储在存储器中的数据结构,所述数据结构包括计数器;
所述计数器通过由执行线程或者硬件操作符执行的操作修改。
2.根据权利要求1所述的同步屏障,其中存储在存储器中的所述数据结构包括阶段标志、到达计数器和用于根据所述屏障的重置对所述到达计数器进行重新初始化的进一步的值。
3.根据权利要求1所述的同步屏障,其中所述硬件操作符包括执行复制的硬件。
4.根据权利要求1所述的同步屏障,其中所述操作包括与等待(WAIT)不同的到达(ARRIVE)和/或与到达(ARRIVE)不同的等待(WAIT)。
5.根据权利要求1所述的同步屏障,其中所述数据结构被构成为响应于融合加载/存储原子而重置,所述融合加载/存储原子能够由硬件引擎或者软件线程初始化。
6.一种计算机系统,包括:
存储在存储器中的同步屏障基元,所述基元包括计数器和阶段指示器;以及
存储器访问电路,所述存储器访问电路响应于下述两者之一而重置所述计数器并改变所述阶段指示器:
(a)由软件线程执行指令;以及
(b)当所述计数器指示线程集合中的所有线程和至少一个复制操作已经到达同步点并且在所述集合中的所有操作已经完成。
7.根据权利要求6所述的系统,其中所述计数器计数复制操作完成的数量和执行线程到达调用的数量的总计。
8.根据权利要求6所述的系统,其中所述指令包含不包括等待(WAIT)的到达(ARRIVE)操作或者不包括到达(ARRIVE)操作的等待(WAIT)操作。
9.根据权利要求6所述的系统,其中存储在存储器中的基元进一步包括预定值,以及当所述计数器指示在线程集合中的所有线程和复制操作已经到达同步点并且在所述集合中的所述复制操作已经完成时,硬件通过加载所述预定值重置所述计数器。
10.根据权利要求9所述的系统,其中所述系统被构成为允许线程动态改变所述预定值。
11.根据权利要求6所述的系统,其中所述同步屏障基元存储在GPU的共享存储器中。
12.根据权利要求6所述的系统,其中所述同步屏障基元存储在确定由线程访问所述基元的分级存储体系中。
13.根据权利要求6所述的系统,进一步包括比较器,所述比较器比较所述计数器的所述计数与预定值,并且根据所述比较的结果重置所述基元。
14.根据权利要求6所述的系统,其中所述基元的阶段指示器被构成为先通过到达(ARRIVE)命令读取再通过等待(W...
【专利技术属性】
技术研发人员:O·吉鲁,J·肖凯特,R·克拉辛斯基,S·海因里希,小刚·邱,S·加德雷,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。