Javelin: A Scalable Implementation for Sparse Incomplete LU Factorization
Abstract
In this work, we present a new scalable incomplete LU factorization framework called Javelin to be used as a preconditioner for solving sparse linear systems with iterative methods. Javelin allows for improved parallel factorization on shared-memory many-core systems by packaging the coefficient matrix into a format that allows for high performance sparse matrix-vector multiplication and sparse triangular solves with minimal overheads. The framework achieves these goals by using a collection of traditional permutations, point-to-point thread synchronizations, tasking, and segmented prefix scans in a conventional compressed sparse row format. Moreover, this framework stresses the importance of co-designing dependent tasks, such as sparse factorization and triangular solves, on highly-threaded architectures. Using these changes, traditional fill-in and drop tolerance methods can be used, while still being able to have observed speedups of up to ~42x on 68 Intel Knights Landing cores and ~12x on 14 Intel Haswell cores.
Cite
@article{arxiv.1812.06160,
title = {Javelin: A Scalable Implementation for Sparse Incomplete LU Factorization},
author = {Joshua Dennis Booth and Gregory Bolet},
journal= {arXiv preprint arXiv:1812.06160},
year = {2019}
}