并行化处理的制作方法

文档序号:16067199发布日期:2018-11-24 12:47阅读:150来源:国知局

本发明涉及一种并行化处理。本发明尤其涉及借助多个处理器处理矢量元素。

背景技术

物理的测量和处理技术的某些问题可以很好地并行化化,其中,多个处理器并发地在共同的问题上工作。在一种实施方式中,所有的处理器以相同的指令、但是在不同的数据上运行(simd:singleinstructionmultipledata,单指令多数据)。

并行化处理例如可以在分析处理雷达信号的范畴内执行,所述雷达信号已经在对象处反射。在de19937723c2中示出一个特别相关的例子。在那里应该确定多射束的雷达传感器的仰角误差。

在雷达信号的处理中的已知的问题是评估对象的方向角。发射、通过对象反射并且再次接收雷达信号。如果两个对象重叠,则可以通过一系列的接收的测量数据执行二维的搜索。测量数据以矢量的形式存在,其中,应该以不同的索引彼此处理矢量的不同元素。

这些技术上的问题和其他技术上的问题——尤其在电子信号处理的领域内——可以并行化化,其方式是:多个处理器分别加载一个或多个矢量的不同元素并且由此确定组合值。

基于本发明的任务在于,提供一种用于并行化处理矢量的元素的改善的技术。本发明借助说明书所描述的方案解决所述任务。并且描绘优选的实施方式。



技术实现要素:

一种用于借助处理器1至k并行化处理第一矢量r的元素的方法,其包含以下步骤:(b)在处理器1中加载第一矢量r的下一个未加载的元素;(c)通过处理器并行处理所加载的元素;(d)从处理器1至k-1向各下一个处理器2至k传送第一矢量r的所加载的元素;(e)在处理器1中加载第一矢量r的下一个未加载的元素;以及(f)如果第一矢量r的所有元素没有都已经被加载且处理,则跳回至步骤c。

通过循环地传递第一矢量r的一次性加载的元素可以避免,必须经常将相同的值从存储器转移到处理器中的一个中。尤其如果第一矢量r是大的,则可以需要仅几次存储器访问,以便并行化借助多个处理器处理矢量的所有元素。

特别优选地,所述方法设置用于借助处理器1至k并行化处理第一矢量r和第二矢量l的元素。在以上提及的步骤b至f之前可以执行步骤a,在所述步骤a中,在处理器1至k中加载第二矢量l的k个元素。紧接以上提及的步骤f,然后在步骤g中在处理器1至k中加载第二矢量l的接下来的k个元素,并且如果第一矢量r的所有元素没有都已经被加载且处理,则在步骤h中回到步骤c。

由此,尤其可以形成两个矢量r和l的元素之间的组合,并且并行化借助处理器处理所述组合。如果两个矢量具有相同的长度,则所描述的方法尤其适用。此外优选,如果处理限于如下元素:这些元素的索引(index)在矢量r和l中彼此不同,则可以应用所述方法。如果将矢量r和l的元素的组合引入到矩阵内,则令人感兴趣的元素组合形成上三角矩阵或下三角矩阵。如果最终的矩阵是对称的或埃尔米特式的(hermitesch),则分析处理两个三角矩阵内的仅一个就足够。

此外优选,交替递增和递减地执行以上提及的步骤a至h。在递增运行(durchlauf)的情况下,第一矢量r的元素的索引递增,其中,具有高索引的第二矢量l的元素配属于具有低索引的处理器,并且具有低索引的第二矢量l配属于具有高索引的处理器。在递减运行的情况下,第一矢量r的元素的索引递减,其中,具有低索引的第二矢量l的元素配属于具有低索引的处理器,并且具有高索引的第二矢量l的元素配属于具有高索引的处理器。

在递增的变型方案中,第一矢量r的元素的索引增大,并且在处理器的递增索引的方向上传送第一矢量r的所加载的元素。具有高索引的第二矢量l的元素配属于具有低索引的处理器,并且具有低索引的第二矢量l配属于具有高索引的处理器。

在递减的变型方案中,第一矢量r的元素的索引减小,并且如在第一种变型方案中那样在处理器的递增索引的方向上传送第一矢量r的元素。具有低索引的第二矢量l的元素配属于具有低索引的处理器,并且具有高索引的第二矢量l配属于具有高索引的处理器。

处理器可以依次从第一变型方案变换到第二变型方案,或者反之。换句话说,可以使用处理器(因为在第一矢量r的运行方向上已经加载且处理所有的元素,可以使所述处理器在步骤c至f的运行的临近结束不再忙碌)用于加载和/或处理关于第二矢量的其他元素的值。为了完整地运行所述方法(在所述方法的情况下形成矢量r和l的元素之间的所有组合,在所述组合的情况下矢量r和l的元素的索引彼此不同),可以在方法的整个运行时间期间实现所有处理器的完全满载。由此可以将相应的分析处理系统的效率最大化。所述方法例如可以用于处理雷达信号,如以上已经提及的那样。可以使分析处理加速,由此可以实现提高分析处理速度或分析处理频率。

在一种实施方式中,两个矢量r和l是相同的,使得矢量l的元素已经通过加载矢量r存在于处理器中。这些可以在正确的时刻维持(vorhalten)在处理器中的寄存器或专用的中间存储器(例如寄存器、高速缓存(cache)等)中。由此不需要重新加载矢量l的接下来的k个元素并且可以跳过步骤a或g。

在一种实施方式中,矢量可以展开成矩阵,所述矩阵的元素以步骤c中的处理结果填充。对存储矩阵的存储器的写入访问也可以通过所描述的方法优化。

此外优选,所述处理包括矢量的元素的最大似然分析。此外优选,矢量的元素分别涉及所采样的雷达信号的方向角。借助最大似然分析例如可以在通过矢量r二维地展开的搜索空间中改善地找到两个彼此重叠的对象的方向角。最终的矩阵可以是对称的,也就是说,优选可以仅分析处理上三角矩阵或下三角矩阵。

计算机程序产品包括程序代码单元,其用于当计算机程序产品在处理装置上运行或者存储在计算机可读的数据载体上时执行以上描述的方法。处理装置尤其可以包括以上提及的处理器中的一个或多个。处理器例如可以构造为可编程的微型计算机或微控制器、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程逻辑(fieldprogrammablegatearray,fpga)。

用于执行以上描述的方法的处理器包括处理装置,其用于处理矢量的一个或多个元素;第一存储器元素,其设置成以矢量的元素加载;第二存储器元素,其用于在第一存储器元素被重新加载期间接收第一存储元素的元素;第三存储器元素,其用于提供另一处理装置的矢量的元素;第一接口,其用于接收元素;第二接口,其用于提供元素;和第三接口,其用于提供结果。

处理器尤其可以设置用于与其他处理器联接(verketten),以便改善地实现传送矢量的变量或元素。处理器不需要实现以上描述的方法,但是可以有效地支持所述方法。处理器的特征或优点可以涉及所述方法,反之依然。

处理器系统包括所描述的处理器中的多个,其中,处理器彼此成排地(ineinerreihe)联接。处理器尤其可以根据simd原理以相同的方式以相同的指令处理不同的数据。联接可以借助合适的接口实现。优选地,仅在彼此联接的处理器的接口之间存在联接连接(verkettungsverbindung),使得仅需要少量的物理的开销。因为联接不需要传输其他的信号,所以传输速度和传输安全性高。

附图说明

现在参照附图进一步描述本发明,附图示出:

图1:示出一种方法;和

图2:示出一种用于执行图1的方法的处理器系统。

具体实施方式

图1示出方法100的直观表示。给定具有元素r1至rn的第一矢量r以及具有元素i1至in的第二矢量l。在矢量l和r的元素之间应该形成组合,其中,仅对这样的组合感兴趣:在所述组合的情况下,元素的索引在其相应的矢量r和l中是不同的。

在说明性的例子中,借助确定性的最大似然方法(dml)可以执行评估从进行测量的雷达系统的视角看部分重叠的两个对象的到达角θ。在此,必须通过第一对象的到达角和第二对象的到达角执行二维的搜索。以下等式必须对i和j的每个可能的组合进行分析处理,以便找到最大值并且因此找到两个最有可能的到达角:

在所述计算的情况下,二维的数据结构的对称使用重要的优化,使得必须分析处理仅一个上三角矩阵或仅一个下三角矩阵。在更准确地考虑的情况下识别,二维的计算此外基于矢量r的值ri和rj,这些值为此必须加载到处理器中。在此可以使用,一次性加载的值ri可以用于计算矩阵的多个单元。

在图1中示出矩阵105,在所述矩阵内两个矢量r和l的元素的所有可能的组合分别构成矩阵元素。在用于两个对象的dml方法的情况下,矢量r和l是相同的,然而以下示例性地对两个不同的矢量示出所描述的方法。

第一矢量r在水平方向上,其索引是j;第二矢量l在竖直方向上,其索引是i。矩阵105的任意元素在所选择的示图中具有横坐标j和纵坐标i。对于第一矢量r和第二矢量l的元素具有相同索引的矩阵元素黑色地着色。这排的黑色地着色的矩阵元素将矩阵105划分为两个三角矩阵,所述三角矩阵分别包括矢量r和l的元素的所有感兴趣的组合。仅仅示例性地示出下三角矩阵。

此外给定k个处理器,所述处理器在此以p1至pk表示。为了并行化处理矢量r和l的元素的组合,处理器p分别示例性地配属于矩阵105的行,并且因此配属于第二矢量l的值ii。第一处理器p1首先依次处理第二矢量l的第k个元素ik与第一矢量r的元素rk+1至rn的组合。以下提出:处理器p1至pk时间错位地处理第一矢量r的元素。由此可以使访问矢量r和l或其元素的数量最小化。如果矢量l和r存储在与处理器p1至pk分开的存储器中,则仅需要更少次数的存储器访问,以便形成矢量r和l的元素的所有组合。此外,通过时间错位可以实现在整个处理时间期间所有的处理器完全地满载。

在在此示出的例子的情况下,首先在处理器pk至p1中加载第二矢量l的值i1至ik。然后在第一次存储器访问中,在第一处理器p1中加载第一矢量r的第二元素r2。接下来,第一处理器p1处理由ik和r2构成的组合。摒弃所述处理的结果,因为该结果不处于下三角矩阵内。然后第一处理器p1向下一个处理器p2传递第一矢量r的先前接收的值。同时在第二次存储器访问中,在第一处理器p1中加载第一矢量r的下一个元素。然后第一处理器p1可以处理ik和r3的组合,而第二处理器p2处理ik-1和r2的组合。也摒弃所述处理的结果,因为该结果同样不处于下三角矩阵内。随后可以在第三次存储器访问中在第一处理器p1中加载第一矢量r的下一个元素,并且处理器p1和p2的第一矢量r的先前使用的元素分别可以前移一个处理器。后续处理的结果以1标记并且处于下三角矩阵内。现在所有后续的步骤有助于结果计算。

在图1中椭圆110合并第一矢量r的元素,所述元素依次在处理器p1至pk中加载或移动并且同时处理。如果第一矢量r的所有元素已经依次加载到第一处理器p1中,则所描述的处理方式可以结束。接下来在处理器p1至pk中分别加载第二矢量l的新的元素。如果矢量r和l是相同的,则所述步骤可以取消,因为该值已经由于先前的运行而存在。

提出:改变先前执行的方向(递增的索引j)并且在相反的方向(递减的索引j)上运行。此外,将处理器反过来配属于第二矢量l的元素:如果先前第二矢量l的递增的索引i相应于处理器pk至p1的递减的索引,则现在第二矢量l的递增的索引i相应于处理器p1至pk的递增的索引,或者反之。由此可以平衡对于每个单个的处理器p1至pk的不同的行长度。如果处理器pk必须在递增的运行中要处理最多的元素,则该处理器在递减的运行中要处理最少的元素。

在图1中示出,处理器p1至pk配属于矩阵105的另外三行的第二矢量l的元素。除了配属之外还分别示出块箭头(blockpfeile),所述块箭头表示:第一矢量r的索引j在行方向上穿过矩阵105期间在哪个方向上继续运行(fortschalten)。在图1的示图中,在元素直接在矩阵105的深色的对角元素的右边的情况下,在行方向上向左的运行结束。然后,如以上已经描述的那样,处理器p1至pk重新加载第二矢量l的元素并且在相反的方向上实现通过矩阵105的其他行的新的运行。

图2示出一种处理器系统200,所述处理器系统尤其设置用于执行图1的方法100。虽然在图1中已经示例性地从三个处理器p1至pn出发,但是在图2中仅示出两个处理器205(相应于p1和p2)。处理器205包括输入接口210、输出接口215、可选的结果接口220、处理装置225、以及优选第一存储器元素230、第二存储器元素235和/或第三存储器元素240,所述输入接口用于接收矢量r或l的元素,所述输出接口用于与随后的处理器205的输入接口210连接,所述结果接口用于提供基于第一矢量r和第二矢量l的元素处理的结果,所述处理装置用于执行所述处理。在所示出的实施方式中,附加地设置第一乘法器245和第二乘法器250。

处理器205设置用于,通过输入接口210接受第二矢量l的元素ii并且存储在第一存储器元素230中。同时,两个矢量r或l的先前已使用的元素可以由第三存储器元素240通过输出接口215提供给随后的处理器205。因此,彼此联接的处理器205可以分别同时向随后的处理器205传送第一矢量r的元素。不需要更耗时的分级传送(“ripple-carry”,行波进位)。

在实现运行矩阵105的行后,优选从第一存储器元素230或直接从接口210将下一个所需的元素ii复制到第二存储器元素235中,以便保护所述元素免于重写。处理装置225可以直接访问第二存储器元素235和输入接口210。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1