Abstract
As multicore systems continue to gain ground in the high-performance computing world, linear algebra algorithms have to be reformulated or new algorithms have to be developed in order to take advantage of the architectural features on these new processors. Fine-grain parallelism becomes a major requirement and introduces the necessity of loose synchronization in the parallel execution of an operation. This paper presents an algorithm for the QR factorization where the operations can be represented as a sequence of small tasks that operate on square blocks of data (referred to as 'tiles'). These tasks can be dynamically scheduled for execution based on the dependencies among them and on the availability of computational resources. This may result in an out-of-order execution of the tasks that will completely hide the presence of intrinsically sequential tasks in the factorization. Performance comparisons are presented with the LAPACK algorithm for QR factorization where parallelism can be exploited only at the level of the BLAS operations and with vendor implementations.
Original language | English |
---|---|
Pages (from-to) | 1573-1590 |
Number of pages | 18 |
Journal | Concurrency and Computation: Practice and Experience |
Volume | 20 |
Issue number | 13 |
DOIs | |
State | Published - Sep 10 2008 |
Keywords
- Linear algebra
- Multicore
- QR factorization