Altifigence Academy

7 / 20 · 概念

Valid 旗標、標籤與清除

區分數值零、空泡與來自其他工作的權杖。

權杖攜帶的不只有數字

我們的參考權杖包含 value、valid、job 與 k。無效權杖是空泡。value 為零的有效權杖,是真實的矩陣運算元。job 辨識交易;k 辨識歸約項。接線固定各 PE 的 A 列與 B 欄,而包裝層記住分塊座標。

兩個輸入都有效時,在相乘前驗證 job 與 k 標籤相同。A(0,1)=2 配上 B(0,0)=5 會產生十,卻不是合法的項。相符的 k=1 配對為二與七,產生十四。標籤不符應視為明顯的驗證錯誤,不能像一般空泡一樣悄悄捨棄。

計算項目,非時脈數

clear 讓 acc=0、count=0。每組相符配對都要求 k=count,之後遞增 count。消費 k=K−1 後,該邊緣之後本地結果立即完成。空泡與暫停不會遞增 count。此簡單控制器要求 k 依序到達。若要支援任意順序,便需要已接收項的位元圖與重複偵測。

K=2 時,消費一與五後得到 acc=5、count=1。空泡讓兩者保持不變。消費 k=1 的二與七後得到 acc=19、count=2 與 done。即使下游消費端已接受結果,重複的 k=1 仍然是錯誤。

排空與清除的目的不同

最後一筆邊界輸入進入時,陣列尚未清空。內部轉送暫存器仍保留權杖。持續以前進且無效的邊界輸入排空,直到最後一個 PE 消費最終項。排空期間,應保留已完成的累加器,直到結果被收集。開始新工作則需要一起清除累加器、count、valid 與標籤狀態。

本課程的包裝層一次只執行一項工作。完成、收集結果、清除,然後再次開始。工作重疊需要額外狀態或累加器,以及輸出協定;光靠標籤無法提供此能力。測試必須包含標籤不符、遺漏與重複項、clear 後殘留的有效狀態,以及仍會遞增項目計數的有效零運算元。

自己試試看

K=3 的 PE 依序消費 k=0 配對 (2,4)、空泡、k=1 配對 (0,9),以及 k=2 配對 (−1,3)。求 acc 與 count。若最後一組的 job 標籤不符,應如何處理?

查看解說

標籤相符時,acc=5、count=3,因此結果完成。空泡不計數;有效的零會計數。job 不符必須產生驗證錯誤,不能回報成功完成。

此選擇適用於本瀏覽器,隨時可從頁尾變更。