跳转到内容

脉动阵列

维基百科,自由的百科全书

平行计算机架构中,脉动阵列是紧密耦合的数据处理单元(DPU)的同质网络,称为单元或是节点。每个节点或是 DPU 会用上游接收来的数据,独立计算结果,储存在自身,然后再将结果传递到下游。脉动阵列最早应用于巨人计算机,这是一台早期用在第二次世界大战期间破解德国洛伦兹密码的计算机。 [1] 由于 Colossus 是机密,孔祥重和Charles Leiserson 独立发明或重新发明了脉动阵列:用在带状矩阵上的密集线性代数计算(矩阵乘积、求解线性方程式LU 分解等)。早期的应用包括计算“整数的最大公约数”和“多项式求解”。 根据费林分类法,脉动阵列有时候被归类为为多指令单数据 (MISD) 架构。不过这是有争议的,正如本文后面所讨论的,我们可以提出强而有力的论述,将它与其他四种 费林分类 区分开来: SISDSIMDMISDMIMD

平行输入的资料流经直接连结的处理器节点,这些节点会将输入资料组合、处理、合并或排序成为结果。由于资料的类传播很像人体循环系统的脉搏,因此从医学术语当中借用了“脉动”这个词。这个名称来自心脏收缩,犹如心脏般地泵送血液。

应用

脉动阵列通常会针对特定的运算来实作硬件线路,例如:乘法与加法。为了执行大量的 平行计算卷积神经网络相关性计算矩阵乘法 或其它的资料排序。它也常常被用在 动态规划 算法,可用于 DNA 与蛋白质的 序列分析.

参考