Jacobi Solver: A Fast FPGA-based Engine System for Jacobi Method

The classical Jacobi method is widely used for solving linear systems. This method is considerably time- consuming to compute millions upon millions of linear equations. In this study, we design a novel FPGA-based Jacobi Solver. The kernel of the Jacobi Solver is a pipeline-friendly iteration algorithm which can eliminate the data dependence between iteration steps. This algorithm is suitable for pipeline-friendly hardware architecture. The experimental results show that the Jacobi Solver can solve more than 6.5 million of linear equations in one second and achieves up to 341x speedup compared to a single-thread CPU version.

[1]  Lauwerens Kuipers,et al.  Handbook of Mathematics , 2014 .

[2]  R. Bru,et al.  Parallel Chaotic Extrapolated Jacobi Method , 1990 .

[3]  Viktor K. Prasanna,et al.  An FPGA-based floating-point Jacobi iterative solver , 2005, 8th International Symposium on Parallel Architectures,Algorithms and Networks (ISPAN'05).

[4]  Joseph R. Cavallaro,et al.  CORDIC arithmetic for an SVD processor , 1987, IEEE Symposium on Computer Arithmetic.

[5]  D. O’Leary,et al.  Multi-Splittings of Matrices and Parallel Solution of Linear Systems , 1985 .

[6]  John Wawrzynek,et al.  Post-placement C-slow retiming for the xilinx virtex FPGA , 2003, FPGA '03.

[7]  Rafael Mayo,et al.  Solving Dense Linear Systems on Graphics Processors , 2008, Euro-Par.

[8]  Tao Wang,et al.  Implementation of Jacobi iterative method on graphics processor unit , 2009, 2009 IEEE International Conference on Intelligent Computing and Intelligent Systems.

[9]  Y. Saad,et al.  Iterative solution of linear systems in the 20th century , 2000 .

[10]  Louis A. Hageman,et al.  Iterative Solution of Large Linear Systems. , 1971 .

[11]  Michael J. Flynn,et al.  Beyond Traditional Microprocessors for Geoscience High-Performance Computing Applications , 2011, IEEE Micro.