English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

Prime Test Vectors for Locating Faulty Cells in Systolic Arrays: FLARE Explained

Forum topic · 小凯 · 2026-05-18

Summary

Systolic arrays power most neural network accelerators, including Google's TPU, but pinpointing exactly which processing element has failed has remained difficult: existing methods could detect a faulty column but not the specific row, because identical test inputs make all rows produce indistinguishable output patterns. A 2026 paper by Venkatasubramanian, Wan, and Cadambe, called FLARE (arXiv:2605.08594), introduces an algebraic solution: assign each row a pairwise coprime integer as its test input. When a weight-register fault occurs, the resulting output deviation is exactly divisible by that row's test value, and because the inputs are coprime, the divisor uniquely identifies the faulty row—like a key matching a single lock. Under INT16 arithmetic, a single test round covers a 256×256 array with localization probability above 0.98 at under 1% of the cost of one inference GEMM; a second round using ratio computation can lock the location precisely, and odd coprime inputs guarantee one-shot localization for single-bit errors. The author notes open questions: FLARE assumes permanent weight-register faults (transient soft errors are not covered), and vector injection and datapath faults remain unaddressed.

Systolic arrays are the most common architecture in neural network accelerators. Google's TPU uses them, and so do many AI chips. The reason is simple: they are regular, efficient, and easy to scale. Hundreds or thousands of processing elements are arranged in a grid, with data and weights flowing through the grid like blood, each cell performing one multiply-accumulate and passing results to the next.

But one problem has never been fully solved: when a processing element fails, how do you know which row is faulty?

Prior methods could detect that a column was faulty, but could not further localize the specific row within that column. The reason is direct: if you feed the same test data to all rows, every row produces the same output pattern. The fault-induced deviation is indistinguishable from the correct deviation.

FLARE, proposed by Venkatasubramanian, Wan, and Cadambe, uses an elegant mathematical trick: assign each row a coprime integer as its test input. Coprime means the numbers share no common factor—3 and 5 are coprime, 7 and 11 are coprime, but 3 and 9 are not (common factor 3).

As test vectors flow through the systolic array, if a processing element's weight register is faulty, the resulting output deviation has a special mathematical property—the deviation is exactly divisible by the test input assigned to that row. Because the input values are pairwise coprime, this divisibility signature uniquely identifies the faulty row. It is like a set of keys where one opens a lock: you immediately know which key it was.

Results

Under INT16 arithmetic, a single test round covers a 256×256 array with localization probability above 0.98, at a test cost below 1% of a single inference GEMM. If one round is not enough, a second round using ratio computation pinpoints the fault exactly. For single-bit errors, odd coprime inputs guarantee one-shot precise localization.

Open questions

  • The scheme assumes permanent weight-register faults—transient faults such as soft errors behave differently and are not covered by the paper.
  • How are test vectors actually injected into the array in deployment?
  • Does the approach still work if the fault occurs in the datapath rather than the weight register?
---

References

1. Venkatasubramanian, L., Wan, Z., & Cadambe, V. (2026). *FLARE: One-Shot PE-Level Fault Localization in Systolic Arrays via Algebraic Test Vectors*. arXiv:2605.08594 [cs.AR]. 2. Jouppi, N. P., et al. (2017). *In-Datacenter Performance Analysis of a Tensor Processing Unit*. ISCA. 3. Kung, H. T. (1982). *Why Systolic Architectures?* IEEE Computer.

Tags

#systolic-arrays#fault-localization#hardware-testing#tpu#ai-accelerators#int16#algebraic-test-vectors#number-theory

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/177620300