A Data Flow Divide and Conquer Algorithm for Multicore Architecture

Title A Data Flow Divide and Conquer Algorithm for Multicore Architecture
Publication TypeConference Paper
Year of Publication2015
AuthorsHaidar, A., J. Kurzak, G. Pichon, and M. Faverge
Conference Name29th IEEE International Parallel & Distributed Processing Symposium (IPDPS)
Date Published2015-05
Conference LocationHyderabad, India
KeywordsEigensolver, lapack, Multicore, plasma, task-based programming
AbstractComputing eigenpairs of a symmetric matrix is a problem arising in many industrial applications, including quantum physics and finite-elements computation for automobiles. A classical approach is to reduce the matrix to tridiagonal form before computing eigenpairs of the tridiagonal matrix. Then, a back-transformation allows one to obtain the final solution. Parallelism issues of the reduction stage have already been tackled in different shared-memory libraries. In this article, we focus on solving the tridiagonal eigenproblem, and we describe a novel implementation of the Divide and Conquer algorithm. The algorithm is expressed as a sequential task-flow, scheduled in an out-of-order fashion by a dynamic runtime which allows the programmer to play with tasks granularity. The resulting implementation is between two and five times faster than the equivalent routine from the Intel MKL library, and outperforms the best MRRR implementation for many matrices.