跳转到内容

脈動陣列

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

平行計算機架構中,脈動陣列是緊密耦合的數據處理單元(DPU)的同質網路,稱為單元或是節點。每個節點或是 DPU 會用上游接收來的數據,獨立計算結果,儲存在自身,然後再將結果傳遞到下游。脈動陣列最早應用於巨人计算机,這是一台早期用在第二次世界大戰期間破解德國洛伦兹密碼的計算機。 [1] 由於 Colossus 是機密,孔祥重和Charles Leiserson 獨立發明或重新發明了脈動陣列:用在帶狀矩陣上的密集線性代數計算(矩陣乘積、求解線性方程式LU 分解等)。早期的應用包括計算「整數的最大公約數」和「多項式求解」。 根據費林分類法,脈動陣列有时候被歸類為为多指令單數據 (MISD) 架構。不過這是有爭議的,正如本文後面所討論的,我們可以提出強而有力的論述,將它與其他四種 費林分類 區分開來: SISDSIMDMISDMIMD

平行輸入的資料流經直接連結的處理器節點,這些節點會將輸入資料組合、處理、合併或排序成為結果。由於資料的類傳播很像人體循環系统的脈搏,因此從醫學術語當中借用了「脈動」這個詞。這個名稱來自心臟收縮,猶如心臟般地泵送血液。

應用

脈動陣列通常會針對特定的運算來實作硬體線路,例如:乘法與加法。為了執行大量的 平行計算卷積神經網路相關性計算矩陣乘法 或其它的資料排序。它也常常被用在 動態規劃 演算法,可用於 DNA 與蛋白質的 序列分析.

參考