当前位置: 首页 > 专利查询>索尼公司专利>正文

用于阵列处理器的数据推测制造技术

技术编号:14050172 阅读:83 留言:0更新日期:2016-11-24 04:26
公开了一种利用阵列处理器的多个算术逻辑单元(ALU)的方法。确定调度第一数量的ALU以在给定处理周期期间执行函数,每个ALU被调度为使用多个所选输入向量中的相应一个作为输入。还确定不调度第二数量的ALU用于在给定处理周期期间使用。确定与多个所选输入向量不同的多个预测的未来输入向量。调度第二数量的ALU以使用多个预测的未来输入向量中的相应预测的未来输入向量作为输入在给定处理周期期间执行函数。在完成处理周期之后,缓存从第一数量的ALU和第二数量的ALU接收的函数输出。

【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及数据推测(speculation),并且更具体地涉及在处理周期期间结合推测性输入数据利用计算装置的未调度算术逻辑单元(ALU)。
技术介绍
术语“单指令多线程”是指相同处理代码在许多线程(每个线程中具有不同输入数据)中的同时执行。SIMT技术已经被用于阵列处理器,阵列处理器被专门设计为对许多输入重复地执行类似操作。例如,现代图形处理单元(GPU)阵列处理器包括数百或数千个算术逻辑单元(ALU),ALU均能够使用输入向量来计算函数。通过将不同输入向量馈送到不同ALU,可以通过许多输入在一个处理周期内多次计算给定函数。随着GPU继续变得更强大,计算机科学家已经开始使用GPU,GPU通常处理仅针对计算机图形的计算,以在传统上由CPU处理的应用中执行计算。该技术被称为“通用计算图形处理单元”(GPGPU)。然而,在给定处理周期期间,不能利用许多可用ALU。
技术实现思路
根据本公开的一方面,公开了一种利用阵列处理器的多个算术逻辑单元(ALU)的方法。确定调度第一数量的ALU以在给定处理周期期间执行函数,每个ALU被调度2002-158d为使用多个所选输入向量中的相应一个作为输入。还确定不调度第二数量的ALU用于在给定处理周期期间使用。确定与多个所选输入向量不同的多个预测的未来输入向量。调度第二数量的ALU以使用多个预测的未来输入向量中的相应预测的未来输入向量作为输入在给定处理周期期间执行所述函数。在完成处理周期之后,缓存从第一数量的ALU和第二数量的ALU接收的函数输出。根据本公开的另一方面,公开了一种计算装置,该计算装置的特征在于:包括多个算术逻辑单元(ALU)的阵列处理器、以及处理电路。处理电路可以在阵列处理器外部或位于阵列处理器内。处理电路被构造为确定调度第一数量的ALU以在给定处理周期期间执行函数,每个ALU被调度为使用多个所选输入向量中的相应一个作为输入。处理电路还被构造为确定不调度第二数量的ALU用于在所述给定处理周期期间使用。处理电路还被构造为确定与所述多个所选输入向量不同的多个预测的未来输入向量,并且调度所述第二数量的ALU以使用所述多个预测的未来输入向量中的相应预测的未来输入向量作为输入在所述给定处理周期期间执行所述函数。处理电路还被构造为在完成所述处理周期之后,缓存从所述第一数量的ALU和第二数量的ALU接收的函数输出。在一些实施方式中,根据较大输入向量集合随机地确定预测的未来输入向量。在其它实施方式中,通过将一个或更多个遗传算法应用至在一个或更多个先前处理周期内已被用作针对给定函数的输入的一个或更多个先前输入向量来确定预测的未来输入向量。一个或更多个遗传算法的应用例如可以包括遗传交叉的使用和/或变异算子的应用。在一个或更多个实施方式中,阵列处理器包括图形处理单元(GPU)。附图说明图1示意性地示出包括具有多个算术逻辑单元(ALU)的阵列处理器的示例计算装置。图2示出利用图1的多个ALU的示例方法。图3至图4示意性地示出将输入向量调度为多个ALU中的函数输入的示例。图5示出图2的方法的一部分的示例实现。图6示出图2的方法的一部分的示例实现。图7示出确定预测的未来输入向量的交叉算法的示例应用。具体实施方式本公开描述了用于通过在给定处理周期期间使用阵列处理器的未调度算术逻辑单元(ALU)来更有效地利用计算资源的技术。还公开了用于通过那些未调度的ALU预测将被用作函数输入的未来输入向量的技术。通过推测将在未来处理周期内使用什么输入向量,计算装置可以计算针对函数的预测输出值的缓存。随后,如果作出使用推测性输入向量中的一个作为输入来执行所述函数的请求,则可以从缓存检索函数输出来代替重新计算函数输出。在一个或更多个实施方式中,使用一个或更多个遗传算法执行输入向量预测(或“推测”)。在其它实施方式中,可以通过从可能输入向量集合随机地选择输入向量或通过随机地生成输入向量来执行输入向量预测。图1示意性地示出包括主中央处理单元(CPU)12和阵列处理器14两者的示例计算装置10。在一个或更多个实施方式中,阵列处理器14包括图形处理单元(GPU)。当然,可以使用其它阵列处理器14。CPU 12和阵列处理器14中的每个均包括一个或更多个处理电路,该处理电路例如包括配置有实现这里论述的一个或更多个技术的适当软件和/或固件的一个或更多个微处理器、微控制器、专用集成电路(ASIC)等。计算装置10包括高速缓冲存储器16。虽然高速缓冲存储器16被示出为阵列处理器14的一部分,但是将理解,这是非限制性示例,并且高速缓冲存储器16可以在阵列处理器14外部(例如,在储存器22或RAM 24中)。阵列处理器包括多个内核18a-18n,每个内核包括多个ALU 20a-20m。为了简单起见,示出了仅内核18a的ALU。然而,将理解,内核18a-18n中的每个均包括多个ALU 20。高速缓冲存储器16被配置为存储阵列处理器14的多个ALU 20的输出以用于一个或更多个函数。计算装置10还包括计算机可读存储介质(被示出为储存器22)、随机存取存储器(RAM)24、通信接口26(例如,无线收发器)以及一个或更多个输入/输出装置28(例如,电子显示器、鼠标、触摸屏、小键盘等)。储存器22例如可以包括固态或光学硬盘驱动器。图2示出利用阵列处理器(例如,计算装置10的阵列处理器14)的多个ALU的示例方法100。计算装置10确定调度第一数量的ALU 20以在给定处理周期期间执行函数(框102),每个ALU被调度为使用多个所选输入向量中的相应一个作为输入。计算装置10还确定不调度第二数量的ALU用于在给定处理周期期间使用(框104)。计算装置10确定与多个所选输入向量不同的多个预测的未来输入向量(框106),并且调度第二数量的ALU 20以使用多个预测的未来输入向量中的相应预测的未来输入向量作为输入在给定处理周期间执行函数(框108)。在完成处理周期之后,缓存从第一数量的ALU和第二数量的ALU接收的函数输出(框110)。缓存例如可以发生在高速缓冲存储器16中。图3提供方法100的示意性示例应用。根据针对给定处理周期的所请求调度(图3的左边),调度第一组30ALU,以使用输入向量X1-X10计算函数f,但是不调度第二组32ALU用于在处理周期期间使用。根据修改后的调度(图3的右边)在处理周期期间针对所述一组32 ALU将预测的未来输入向量X11-X16调度为到函数f的输入。在完成所述处理周期之后,缓存每个ALU的函数输出。当然,图3假定输入向量X1-X10先前未被用作函数输入,并且因此尚未缓存函数输出。图4提供已经缓存一些值的方法100的另一个示意性示例应用。现在参照图4,根据针对给定处理周期的所请求调度(图4的左边),请求第一组30 ALU使用输入向量X1-X10计算函数f,但是不调度第二组32ALU用于在所述处理周期期间使用。然后,检测到输入向量X7和X8先前已被用作针对函数f的输入并且已具有被缓存的函数输出。图4的中间示出第一次修改后的调度,其中,确定已被用于利用输入向量X7和X8计算函数f的ALU_07和ALU_08可用。预测的未来输入向量X10-X18不仅针对所述组32 ALU还针对ALU_07和ALU_08本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201480077852.html" title="用于阵列处理器的数据推测原文来自X技术">用于阵列处理器的数据推测</a>

【技术保护点】
一种利用阵列处理器的多个算术逻辑单元(ALU)的方法,所述方法的特征在于:确定调度第一数量的所述ALU以在给定处理周期期间执行函数,每个ALU被调度为使用多个所选输入向量中的相应一个作为输入;确定不调度第二数量的所述ALU用于在所述给定处理周期期间使用;确定与所述多个所选输入向量不同的多个预测的未来输入向量;调度所述第二数量的ALU以使用所述多个预测的未来输入向量中的相应预测的未来输入向量作为输入在所述给定处理周期期间执行所述函数;以及在完成所述处理周期之后,缓存从所述第一数量的ALU和第二数量的ALU接收的函数输出。

【技术特征摘要】
【国外来华专利技术】1.一种利用阵列处理器的多个算术逻辑单元(ALU)的方法,所述方法的特征在于:确定调度第一数量的所述ALU以在给定处理周期期间执行函数,每个ALU被调度为使用多个所选输入向量中的相应一个作为输入;确定不调度第二数量的所述ALU用于在所述给定处理周期期间使用;确定与所述多个所选输入向量不同的多个预测的未来输入向量;调度所述第二数量的ALU以使用所述多个预测的未来输入向量中的相应预测的未来输入向量作为输入在所述给定处理周期期间执行所述函数;以及在完成所述处理周期之后,缓存从所述第一数量的ALU和第二数量的ALU接收的函数输出。2.根据权利要求1所述的方法,其中,所述确定所述多个预测的未来输入向量的特征在于:选择在一个或更多个先前处理周期内已被用作针对所述函数的输入的一个或更多个先前输入向量;以及将一个或更多个遗传算法应用至所述一个或更多个先前输入向量,以确定所述多个预测的未来输入向量的至少一部分。3.根据权利要求2所述的方法,所述方法的特征还在于:每当所述输入向量被选择作为针对所述函数的输入时,使针对给定输入向量的适合度得分递增;其中,基于所述先前输入值的所述适合度得分来执行所述选择在一个或更多个先前处理周期内已被用作针对所述函数的输入的一个或更多个先前输入向量。4.根据权利要求2所述的方法:其中,将一个或更多个遗传算法应用至所述一个或更多个先前输入向量的特征在于:对两个先前输入向量执行遗传交叉以确定两个不同的新输入向量。5.根据权利要求4所述的方法,所述方法的特征还在于:将变异算子应用至所述新输入向量中的一个或两个中的一个或更多个元素。6.根据权利要求5所述的方法,其中,所述变异算子包括以下中的一个:用随机值替换输入向量的元素的值,对输入向量的元素的值求反,使输入向量的元素的值增加预定义量,以及使输入向量的元素的值减小预定义量。7.根据权利要求1所述的方法:其中,所选输入向量是较大输入向量集合的一部分;以及其中,确定与所述多个所选输入向量不同的所述多个预测的未来输入向量的特征在于:从尚未用作到所述函数的输入的输入向量集合随机地选择输入向量作为所述预测的输入向量。8.一种计算装置,所述计算装置的特征在于:阵列处理器,所述阵列处理器包括多个算术逻辑单元(ALU);以及处理电路,所述处理电路被构造...

【专利技术属性】
技术研发人员:J·拉斯穆松H·琼森J·古斯塔夫森A·伊斯贝里
申请(专利权)人:索尼公司
类型:发明
国别省市:日本;JP

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

1