Hierarchical QR factorization algorithms for multi-core cluster systems
Résumé
This paper describes a new QR factorization algorithm which is especially designed for massively parallel platforms combining parallel distributed multi-core nodes. These platforms make the present and the foreseeable future of high-performance computing. Our new QR factorization algorithm falls in the category of the tile algorithms which naturally enables good data locality for the sequential kernels executed by the cores (high sequential performance), low number of messages in a parallel distributed setting (small latency term), and fine granularity (high parallelism). Each tile algorithm is uniquely characterized by its sequence of reduction trees. In the context of a cluster of multicores, in order to minimize the number of inter-processor communications (aka, "communication-avoiding'' algorithm), it is natural to consider two-level hierarchical trees composed of an "inter-node'' tree which acts on top of "intra-node'' trees. At the intra-node level, we propose a hierarchical tree made of three levels: (0) "TS level'' for cache-friendliness, (1) "low level'' for decoupled highly parallel inter-node reductions, (2) "coupling level'' to efficiently resolve interactions between local reductions and global reductions. Our hierarchical algorithm and its implementation are flexible and modular, and can accommodate several kernel types, different distribution layouts, and a variety of reduction trees at all levels, both inter-cluster and intra-cluster. Numerical experiments on a cluster of multicore nodes (1) confirm that each of the four levels of our hierarchical tree contributes to build up performance and (2) build insights on how these levels influence performance and interact within each other. Our implementation of the new algorithm with the DAGUE scheduling tool significantly outperforms currently available QR factorization softwares for all matrix shapes, thereby bringing a new advance in numerical linear algebra for petascale and exascale platfo- ms.
Mots clés
cache storage
data reduction
granular computing
linear algebra
matrix decomposition
multiprocessing systems
parallel machines
pattern clustering
processor scheduling
tree data structures
DAGUE scheduling tool
cache friendliness
distribution layout
exascale platform
hierarchical QR factorization algorithm
hierarchical tree
high-performance computing
internode tree
interprocessor communication
intranode trees
multicore cluster system
numerical linear algebra
parallel distributed multicore node
parallel internode reduction
petascale platform
reduction tree
sequential kernel
tile algorithm
Algorithm design and analysis
Binary trees
Clustering algorithms
Kernel
Multicore processing
Program processors
Tiles
QR factorization
cluster
distributed memory
hierarchical architecture
multicore