Cascaded Implementation for Larger Matrices - Cascaded Implementation for Larger Matrices - 2026.1 English

Vitis Libraries

Release Date
2026-06-23
Version
2026.1 English

The Householder algorithm applies reflectors sequentially across the columns of \(A\). To distribute this work across multiple AIE tiles, TP_CASC_LEN partitions the input matrix by rows. Each kernel in the cascade processes an equal-sized row block of \(\frac{m}{TP\_CASC\_LEN}\) rows across all \(n\) columns.

R matrix output is produced only by the kernels whose row range overlaps with the upper \(n\) rows of \(A\) (i.e., kernels for which the starting row index is less than TP_DIM_COLS). For a rectangular matrix where \(m > n\), the bottom kernel(s) whose row range lies entirely below row \(n\) do not output \(R\). This is determined automatically by the graph; no user configuration is required.

Example: A \(24 \times 16\) matrix with TP_CASC_LEN = 3:

  • Each kernel handles an \(8 \times 16\) row partition.
  • \(R\) is \(16 \times 16\), so only the top two kernels (rows 0–15) produce \(R\) output.
  • The bottom kernel (rows 16–23) does not drive outR.
  • Streams flow from the bottom kernel upward through the chain.
Table 67 Cascade Kernel Role Summary (24×16, TP_CASC_LEN=3)
Kernel (cascPos) Row Range R Output
0 (top) 0 – 7 yes
1 (middle) 8 – 15 yes
2 (bottom) 16 – 23 no