Scalable Tile Communication-Avoiding QR Factorization on Multicore Cluster Systems

Scalable Tile Communication-Avoiding QR Factorization on Multicore Cluster Systems
复制标题

可扩展平铺通信 - 避免多核集群系统上的 QR 分解

DOI:
--
复制
发表时间:
2010
期刊:
2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis
影响因子:
--
通讯作者:
J. Dongarra
J. Dongarra
中科院分区:
--
文献类型:
--
作者:
Fengguang Song;H. Ltaief;B. Hadri;J. Dongarra

文献摘要

被引文献

相似文献

随着线性代数算法在共享内存多核架构上不断实现高性能,使它们在分布式内存多核集群机器上具有可扩展性是一项具有挑战性的任务。本文的主要贡献是扩展了Hadri等人之前在通信-避免高矩阵和瘦矩阵的QR (CA-QR)分解(最初在共享内存多核系统上完成)方面所做的工作的分布式内存环境。与QR分解避免通信技术相关的细粒度算法呈现出高度并行性,其中多个任务可以并发执行,计算和通信在很大程度上重叠,计算步骤完全流水线化。然后将分散的动态调度器集成为运行时系统,以有效地跨分布式资源调度任务。我们在两个集群(分别具有双核和8核节点)和一个具有12核节点的Cray XT5系统上进行的实验结果表明,对于高矩阵和细矩阵,tile CA-QR分解能够比实际的ScaLAPACK库的性能高出4倍,并且在多达3,072核的情况下具有良好的可扩展性。
As tile linear algebra algorithms continue achieving high performance on shared-memory multicore architectures, it is a challenging task to make them scalable on distributed-memory multicore cluster machines. The main contribution of this paper is the extension to the distributed-memory environment of the previous work done by Hadri et al. on Communication- Avoiding QR (CA-QR) factorizations for tall and skinny matrices (initially done on shared-memory multicore systems). The fine granularity of tile algorithms associated with communicationavoiding techniques for the QR factorization presents a high degree of parallelism where multiple tasks can be concurrently executed, computation and communication largely overlapped, and computation steps fully pipelined. A decentralized dynamic scheduler has then been integrated as a runtime system to efficiently schedule tasks across the distributed resources. Our experimental results performed on two clusters (with dual-core and 8-core nodes, respectively) and a Cray XT5 system with 12-core nodes show that the tile CA-QR factorization is able to outperform the de facto ScaLAPACK library by up to 4 times for tall and skinny matrices, and has good scalability on up to 3,072 cores.