Towards a Parallel Tile LDL Factorization for Multicore Architectures
The increasing number of cores in modern architectures requires the development of new algorithms as a means to achieving concurrency and hence scalability. This paper presents an algorithm to compute the LDLt factorization of symmetric indefinite matrices without taking pivoting into consideration. The algorithm, based on the factorizations presented by Buttari and al., represents operations as a sequence of small tasks that operate on square blocks of data. These tasks can be scheduled for execution based on dependencies among them and on computational resources available. This allows an out of order execution of tasks that removes the intrinsically sequential nature of the factorization. Numerical and performance results are presented. Numerical results were limited to matrices for which pivoting is not numerically necessary. A performance comparison between LDLt, Cholesky and LU factorizations and the performance of the kernels required by LDLt, which are an extension of level-3 BLAS kernels, are presented.