Fig. 6: Iterative refinement for linear systems solutions. | npj Unconventional Computing

Fig. 6: Iterative refinement for linear systems solutions.

From: Achieving high precision in analog in-memory computing systems

Fig. 6

a At each iteration, an efficient low-precision unit computes a correction of the solution \({\tilde{{\bf{x}}}}^{(k)}\) by solving the linear system associated with the residual which is, instead, computed by a high-precision unit. The algorithm takes advantage of the high-precision unit to increase the precision of the numerical solution, whereas the demanding computation is delegated to the low-precision unit. The process stops when the target tolerance is achieved on the residual value. b–d Relative error as a function of the iteration number for 50 × 50 linear systems for (b) 6-bit linear system solver and increasing high-precision residual computation from 12-bit to 32-bit (κ = 50), (c) 32-bit residual computation and increasing low-precision solver from 5-bit to 10-bit (κ = 50), and (d) 6-bit linear system solver, 32-bit residual computation unit and increasing linear system condition number from κ = 10 to κ = 100. e–f Possible implementations of the LPU by (e) iterative open-loop AIMC-based MVM, or (f) one-shot closed-loop AIMC-based IMVM.

Back to article page