Javelin: A Scalable Implementation for Sparse Incomplete LU\n Factorization
Joshua Dennis Booth, Gregory Bolet
Abstract
Open-access reader
Joshua Dennis Booth, Gregory Bolet
Abstract
Open-access reader
In this work, we present a new scalable incomplete LU factorization framework\ncalled Javelin to be used as a preconditioner for solving sparse linear systems\nwith iterative methods. Javelin allows for improved parallel factorization on\nshared-memory many-core systems by packaging the coefficient matrix into a\nformat that allows for high performance sparse matrix-vector multiplication and\nsparse triangular solves with minimal overheads. The framework achieves these\ngoals by using a collection of traditional permutations, point-to-point thread\nsynchronizations, tasking, and segmented prefix scans in a conventional\ncompressed sparse row format. Moreover, this framework stresses the importance\nof co-designing dependent tasks, such as sparse factorization and triangular\nsolves, on highly-threaded architectures. Using these changes, traditional\nfill-in and drop tolerance methods can be used, while still being able to have\nobserved speedups of up to ~42x on 68 Intel Knights Landing cores and ~12x on\n14 Intel Haswell cores.\n
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
In this work, we present a new scalable incomplete LU factorization framework\ncalled Javelin to be used as a preconditioner for solving sparse linear systems\nwith iterative methods. Javelin allows for improved parallel factorization on\nshared-memory many-core systems by packaging the coefficient matrix into a\nformat that allows for high performance sparse matrix-vector multiplication and\nsparse triangular solves with minimal overheads. The framework achieves these\ngoals by using a collection of traditional permutations, point-to-point thread\nsynchronizations, tasking, and segmented prefix scans in a conventional\ncompressed sparse row format. Moreover, this framework stresses the importance\nof co-designing dependent tasks, such as sparse factorization and triangular\nsolves, on highly-threaded architectures. Using these changes, traditional\nfill-in and drop tolerance methods can be used, while still being able to have\nobserved speedups of up to ~42x on 68 Intel Knights Landing cores and ~12x on\n14 Intel Haswell cores.\n
Key concepts: Incomplete LU factorization, Computer science, Parallel computing, Sparse matrix, Scalability, LU decomposition, Factorization, Preconditioner