本发明专利技术涉及用于多处理器系统中的输出的多级采集器。处理元件可以(每一个或整体上)包括多个群集,具有一个或多个ALU,可根据用于配置ALU的指令流对数据矢量执行SIMD操作并产生输出。多级采集器可包括替代组件,每一个具有至少一个输入队列、存储器、封装单元以及输出队列;这些组件可被调整尺寸以处理给定尺寸的输入元素的群组,并且可以具有多个输入队列和单个输出队列。某些组件耦合以接收来自ALU的输出,而其他接收来自其他组件的输出。最终,多级采集器可以输出输入元素的群组。每个元素群组(例如,在输入队列处,或被存储于组件的存储器)可以基于索引元素的匹配而被形成。
【技术实现步骤摘要】
本专利技术涉及用于多处理器系统中的输出的多级采集器。
技术介绍
通过光线跟踪从3D场景描述中生成具有照片真实感的2D图像,是计算机图形领域中一项公知的技术。已知光线跟踪可产生照片真实感的图像,包括真实的阴影和光照效果,因为光线跟踪可以对光线与场景元素交互的物理行为进行建模。光线跟踪通常涉及获取由几何形状构成的场景描述,其描述场景中结构的表面,并且可称为基元(primitive)。三角形就是一个常见的基元形状。物体可由一个或多个这些基元组成,它们也可以包括数千甚至数百万个基元。场景一般含有许多物体。因此,显示器和将要在其上显示的媒体的分辨率也需要相应增加。光线跟踪需要以不同的数据多次重复某些计算(如,相交测试),并对标识的射线交点执行专用代码(“描影”)。光线跟踪计算可以在被绘制的帧的像素级别被相对较易地并行化,因为这些计算许多都彼此独立,或者具有被良好表征的依存性。但是,计算的其他部分并不那么容易被并行化。更广义地说,光线跟踪是受益于处理吞吐量实际增长的各种工作负载中的一个示例工作负载。因此,提供不同的计算架构及其组件一直是是促成这些目标的研发活动的活跃领域。
技术实现思路
在某些方面,系统、组件和方法解决在计算期间具有输入的并行计算架构的馈送,在该计算中输入取决于先前计算的输出。在某些方面,并行计算架构可以包括一个或多个计算单元,每个都包括一个或多个SIMD处理单元。在SIMD处理单元内,数据元素的矢量被并行处理。在SMD单元之间以及在计算单元之间,控制线程可以是不同的。在某些方面,在任何给定时刻在特定SIMD单元内执行的操作(例如,指令)可以从多个候选控制线程中选择。在某些实施中,控制线程的改变可以在逐个时钟的基础上进行。在某些方面,特定SMD单元处理的数据元素可以作为一个群组被取回,其他的数据元素由其他SMD单元处理。在某些示例中,多个SMD单元可以利用特定的控制线程并且在不同的执行阶段(如各自执行提供给它们的多个数据元素)被加载,使得来自计算单元的计算结果随着时间进展是可获得的,并且所公开的方面允许采集和形成可以在计算元素中的进一步计算期间使用的数据元素的进一步群组(或群组的标识)。附图说明图1是与多个计算单元耦合的多级输出采集器的示意图2描绘根据这些公开的多级输出采集的其他方面;图3是在根据图1-图2的架构中采用的采集器元件(“采集器”)的示例框图4描绘采集器的示例操作;图5描绘一个这样的示例,在该示例中开关可以将一个输出与选择的输入耦合,并且可以在这里的某些示例中的多个采集器之间切换;图6描绘一个不例,在该不例中米集器可具有多对一的输入输出比,其中输入实质上可以是硬接线的,并且输入能够生成停顿(stall)条件以便对去往输入的写进行仲裁;图7描绘可由采集器执行的示例过程流;图8描绘是根据此公开的采集器的另一示例性视图9和图10描绘在本公开的实现中可由采集器执行的其他示例过程;图11描绘可以使用根据此公开、可使用多级采集的示例系统架构;以及图12和图13描绘采集器的其他示例以及它们彼此之间的潜在相关性。具体实施方式随着半导体继续缩放到更低级别的几何体,理论时钟速度和晶体管计数继续增力口。但是已经发现,尝试利用乱序执行指令的能力将整个晶体管预算用于单个处理器内核(例如,精细粒度流水线处理器)不能保持在合理的功率预算内,而且会导致设计和制造方面的许多其他挑战。因此,计算架构已寻求通过增加并行性提高计算能力。现存多种并行计算方法,包括单指令多数据(SMD)和多指令多数据(MMD)计算机及其组合。始终获得关注的一个领域是如何细分给定的计算任务以利用并行计算资源。在某些方面,以下内容涉及允许对计算任务实现较精细粒度细分的计算的方法、组件和系统,从而支持对这种计算任务的更为有效的执行,这例如是通过改进较精细粒度任务的调度能力以及允许更宽的计算架构处于饱和来实现的。但是,较精细粒度的并行性可能产生数据管理问题,因为可能需要高效地管理数据的多个离散部分。因此,在某些方面,这些公开内容提供了可以在用于为较精细粒度并行性的这种数据管理中使用的示例。单指令多数据(SMD)计算可以提供一种方法,用于提高处理器内的计算并行性,而不会复制处理器的所有部分。例如,多个ALU可共享单个指令解码器和调度器、一个指令缓存和存储器接口。多指令多数据(MMD)可提供方法在单个芯片上安装多个冗余内核。MIMD计算机可配备SMD组件。不论给定的晶体管预算或给定的计算机架构如何组织,计算组件最终需要完成任务和安排新任务。其他考虑包括实施给定设计所需的互连数目以及所需的全局同步数目。以下内容描述能够提供实用方法实现计算任务的更大处理批量和较细粒度并行性的组件、方法和系统示例。在某些实施中,可将编程工作负荷分割为更细的分立部分(每个部分可给定最少两个元件),实现更细的粒状并行性。在某些实施中,第一个元件可指示要执行的配置或程序和在该等执行中使用的第一个数据集,另一个元件可指示用于该等计算的第二个数据元素。就光线跟踪而言,数据元素可指示要测试的与光线相交有关的形状。此外,通过给定形状,可以隐含方式标识要操作的程序。例如,对于包围体,需要针对所用类型包围体的相交测试程序。在某些实施中,公开的结构和方法可允许多个计算单元执行一个或多个控制线程,每个控制线程可产生一个或多个输出。在某些情况下,每个控制线程均可在由多个元素组成的数据矢量上操作。在某些情况下,控制线程可竞争一个矢量的某些数据元素(但不竞争其他数据元素),并通过计算单元的输出提供结果。多级采集器可将这些结果采集到集合中,这些集合最终用于定位或产生计算单元的输入(如,数据元素的新矢量)。在计算单元之间,还希望计算单元能够以与其他计算单元异步的方式产生或输出计算结果(例如,下述的组件可与计算单元异步,计算单元无须在单个控制线程内执行相同的指令,不同的计算单元可在一个数据窗口内操作,以便不同的计算单元能够以相同的控制程序处理不同的数据元素,或者计算单元能够以不同的控制线程操作)。不同的实施可能具有不同程度或特征的异步行为,本文所述的采集架构示例和实施能够提供可扩展的方法增加数据并行性。图1描绘包括多个计算单元(例如单元21、22和23)的示意性系统架构10的示意图。每个计算单元21-23可以以与其他计算单元异步的方式产生各自的输出25。这些输出可在程序执行期间由计算单元产生。某些类别的输出示例将在下文更详细描述。来自每个计算单元的异步输出25分别由采集器25、26和27采集(每个计算单元对应的采集器通过示例描述,但这并非限制,因为一个采集器可同时为多个计算单元服务,或者多个独立的采集器只为一个特定的计算单元服务)。计算单元与采集器单元之间耦合的一种考虑是:每个采集器单元将耦合以接收来自至少一个计算单元的输出。例如,输出可通过采集器与计算单元之间的点到点连接获得。为简化起见,本公开内容假定采集器与计算单元之间保持1:1的对应关系。来自计算单元的输出的每个实例可由接收此类输出实例的采集器独立地采集。这样,当输出分别由各自耦合的计算单元提供时,采集器25、26和27可分别接收这些输出。在一个特定示例中,每个输出实例可包括一个索引元素以及一个或多个关联数据元素。为便利起见,一个索引元素以及一个本文档来自技高网...

【技术保护点】
一种分布式多处理的机器实施方法,包括:异步接收来自计算单元的多个输出的包,所述包中的每一个包括与各自索引元素相关联的一个或多个组成元素,所述索引元素描述将要针对所述一个或多个组成元素而执行的计算任务;以及在多个步骤中将接收的所述包中包括的所述组成元素封装为渐大的包,所述封装包括在每个所述步骤中通过对多个接收的包中的各索引元素进行比较并且将与匹配索引字段相关联的那些组成元素分组在一起来将组成元素分组到包中。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:J·A·麦康比,S·J·克洛塞特,J·R·雷格瑞芙,L·T·皮特森,
申请(专利权)人:柯斯提克绘图公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。