Exploiting Kant and Kimura's Matrix Inversion Algorithm on FPGA

AB Perina, P Matias, E Marques… - … on Digital System …, 2017 - ieeexplore.ieee.org
AB Perina, P Matias, E Marques, V Bonato, JMGP De Brito
2017 Euromicro Conference on Digital System Design (DSD), 2017ieeexplore.ieee.org
Matrix inversion for real-time applications can be a challenge for the designers since its
computational complexity is typically cubic. Parallelism has been widely exploited to reduce
such complexity, however most traditional methods do not scale well with the matrix size
leading to communication bottlenecks. In this paper we exploit a decentralised parallel
hardware architecture based on a strongly non-singular matrix inversion algorithm proposed
by Kant and Kimura in 1978, which is a parallel-orientated method with communication …
Matrix inversion for real-time applications can be a challenge for the designers since its computational complexity is typically cubic. Parallelism has been widely exploited to reduce such complexity, however most traditional methods do not scale well with the matrix size leading to communication bottlenecks. In this paper we exploit a decentralised parallel hardware architecture based on a strongly non-singular matrix inversion algorithm proposed by Kant and Kimura in 1978, which is a parallel-orientated method with communication mode independent of the matrix size, mitigating the problem of matrix scalability. The hardware architecture is implemented in two different approaches using fixed-point arithmetic: dedicated and shared. In the first approach a matrix can be inverted in linear time while the latter, for the best case, has a square complexity. Experimental results are demonstrated using a Stratix V GX FPGA. For instance, in dedicated approach an 8x8 matrix is inverted in 1.27us, while in shared approach a 64x64 matrix is inverted in 153.40us using 64 pipelined processing elements.
ieeexplore.ieee.org