【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算系统,且更具体地说涉及并行计算系统。
技术介绍
并行编程模型可支持任务并行度和数据并行度中的一者或两者以便解决计算问题。任务并行度可允许将计算问题划分为多个任务。所述任务可循序地、同时地和/或并行地在一或多个处理器核心上执行。数据并行度可允许通过将数据分布到不同处理元件且致使处理元件中的每一者对其经指派数据集合执行相同操作集合而对不同数据集合并行地执行相同操作集合。多核处理器可用以支持任务并行度,其中每一核心经配置以执行特定任务。在某些情况下,多核处理器中的核心中的一或多者可为单指令多数据(SIMD)处理器或单程序多数据(SPMD)处理器,其可包含多个处理元件以支持数据并行度。在此些情况下,支持数据层级并行度的任务可能够在多核处理器上循序或并行地执行。若干不同类型的处理器可支持任务并行度和/或数据并行度,包含多核中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、Cell宽带引擎(Cell/B.E.)处理器等。虽然GPU传统地经设计以支持三维(3D)图形到显示器的再现,但许多现代的GPU中包含的可编程着色器架构可用以有效支持在使用并行编程模型编程的通用非图形特定程序中发现的任务并行度和数据并行度两者。使用GPU的并行架构来执行非图形特定程序可被称为图形处理单元上的通用计算(GPGPU)。
技术实现思路
本专利技术描述用于支持并行计算系统中的任务间通信的技术。所述用于支持任务间通信的技术可使用基于硬件的原子操作来维持管线的状态。管线可指代允许各种任务作为数据产生者或数据消费者而与缓冲器交互的缓冲器。各种管线实施方案可使用 ...
【技术保护点】
一种方法,其包括:以一或多个处理器执行修改指示管线的状态的两个或更多个管线状态参数的基于硬件的原子读取‑修改‑写入操作,所述管线对应于用于支持任务间通信的数据缓冲器。
【技术特征摘要】
【国外来华专利技术】2014.03.19 US 14/219,6961.一种方法,其包括:以一或多个处理器执行修改指示管线的状态的两个或更多个管线状态参数的基于硬件的原子读取-修改-写入操作,所述管线对应于用于支持任务间通信的数据缓冲器。2.根据权利要求1所述的方法,其中所述管线状态参数包括指示所述管线的保留状态的一或多个管线保留状态参数。3.根据权利要求2所述的方法,其中所述保留状态参数包括指示多少未提交保留当前对于所述管线待决的参数以及指示多少包条目当前保留在所述管线中的参数中的至少一者。4.根据权利要求1所述的方法,其中以所述一或多个处理器执行所述基于硬件的原子读取-修改-写入操作包括:执行非可中断操作集合,所述非可中断操作集合包括:从存储器子系统读取对应于所述管线状态参数的值的操作;产生所述管线状态参数的经修改值的操作;以及将所述管线状态参数的所述经修改值写入到所述存储器子系统的操作。5.根据权利要求4所述的方法,其中所述两个或更多个管线状态参数包括第一管线状态参数和第二管线状态参数,且其中产生所述管线状态参数的所述经修改值的所述操作包括:基于第一修改功能产生所述第一管线状态参数的经修改值的操作;以及基于第二修改功能产生所述第二管线状态参数的经修改值的操作,所述第二修改功能不同于所述第一修改功能。6.根据权利要求4所述的方法,其中所述两个或更多个管线状态参数包括第一管线状态参数和第二管线状态参数,其中从所述存储器子系统读取对应于所述管线状态参数的所述值的所述操作包括读取对应于第一管线状态参数的第一值的操作,且其中产生所述管线状态参数的经修改值的所述操作包括:基于对应于所述第一管线状态参数的所述第一值产生所述第二管线状态参数的经修改值的操作。7.根据权利要求4所述的方法,其中产生所述管线状态参数的所述经修改值的所述操作包括:基于所述管线状态参数中的一或多者而确定所述管线是否具有足够的未提交和未保留条目来支持写入保留请求的操作;以及响应于确定所述管线具有足够的未提交和未保留条目来支持所述写入保留请求而产生所述管线状态参数的所述经修改值以使得所述经修改值反映针对所述管线已做出写入保留的操作。8.根据权利要求4所述的方法,其中产生所述管线状态参数的所述经修改值的所述操作包括:基于所述管线状态参数中的一或多者而确定所述管线是否具有其中存储包数据的足够的未读取和未保留包条目来支持读取保留请求的操作;以及响应于确定所述管线具有其中存储包数据的足够的未读取和未保留包条目来支持所述读取保留请求而产生所述管线状态参数的经修改值以使得所述经修改值反映针对所述管线已做出读取保留的操作。9.根据权利要求4所述的方法,其中产生所述管线状态参数的所述经修改值的所述操作包括:产生所述管线状态参数值的第一管线状态参数的经修改值以使得所述第一管线状态参数的所述经修改值反映所述管线具有相对于在执行所述基于硬件的原子读取-修改-写入操作之前所述管线具有的未提交保留的数目来说少一个的未提交保留的操作;基于所述管线状态参数中的一或多者确定是否已经提交用于所述管线的全部保留的操作;以及响应于确定已经提交用于所述管线的全部保留而产生所述管线状态参数的所述经修改值以使得所述经修改值反映所提交条目已经放置到所述管线中的操作。10.根据权利要求4所述的方法,其中产生所述管线状态参数的所述经修改值的所述操作包括:产生所述管线状态参数值的第一管线状态参数的经修改值以使得所述第一管线状态参数的所述经修改值反映所述管线具有相对于在执行所述基于硬件的原子读取-修改-写入操作之前所述管线具有的未提交保留的数目来说少一个的未提交保留的操作;基于所述管线状态参数中的一或多者确定是否已经提交用于所述管线的全部保留的操作;以及响应于确定已经提交用于所述管线的全部保留而产生所述管线状态参数的经修改值以使得所述经修改值反映所提交条目已经从所述管线移除的操作。11.根据权利要求1所述的方法,其中所述方法进一步包括:以包含在所述一或多个处理器中的硬件单元接收来自第一线程的执行原子操作的第一请求,其中所述基于硬件的原子读取-修改-写入操作是第一基于硬件的原子读取-修改-写入操作,其中以所述一或多个处理器执行所述基于硬件的原子读取-修改-写入操作包括:响应于接收到所述第一请求,以所述硬件单元执行所述第一基于硬件的原子读取-修改-写入操作以服务于所述第一请求,且其中所述方法进一步包括:在完成所述第一基于硬件的原子读取-修改-写入操作之前,以所述硬件单元接收来自第二线程的执行原子操作的第二请求;响应于接收到所述第二请求,以所述硬件单元等待开始用于服务于所述第二请求的第二基于硬件的原子读取-修改-写入操作的执行直到所述第一基于硬件的原子读取-修改-写入操作的执行完成为止;以及在所述第一基于硬件的原子读取-修改-写入操作的执行完成之后,以所述硬件单元执行修改两个或更多个管线状态参数的所述第二基于硬件的原子读取-修改-写入操作以服务于所述第二请求。12.根据权利要求1所述的方法,其中所述一或多个处理器包括图形处理单元GPU,且其中以所述一或多个处理器执行所述基于硬件的原子读取-修改-写入操作包括以所述GPU执行修改指示所述管线的所述状态的所述两个或更多个管线状态参数的所述基于硬件的原子读取-修改-写入操作。13.根据权利要求1所述的方法,其中所述管线状态参数包括指示多少包当前存储在所述管线中的参数、指示存储所述管线的起始包的包条目的参数、指...
【专利技术属性】
技术研发人员:阿列克谢·弗拉狄米罗维奇·布尔德,司瓦浦奈尔·普拉迪普库尔马·沙克哈雪特,徐飞,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。