High Performance Polar Decomposition on Distributed Memory Systems
The polar decomposition of a dense matrix is an important operation in linear algebra. It can be directly calculated through the singular value decomposition SVD or iteratively using the QR dynamically weighted Halley algorithm QDWH. The former is difficult to parallelize due to the preponderant number of memory bound operations during the bidiagonal reduction. We investigate the latter scenario, which performs more floating point operations but exposes at the same time more parallelism, and therefore, runs closer to the theoretical peak performance of the system, thanks to more compute bound matrix operations. Profiling results show the performance scalability of QDWH for calculating the polar decomposition using around 9200 MPI processes on well and ill conditioned matrices of 100i 3/4 zKi 3/4 z$\times $i 3/4 z100i 3/4 zK problem size. We study then the performance impact of the QDWH based polar decomposition as a pre processing step toward calculating the SVD itself. The new distributed memory implementation of the QDWH SVD solver achieves up to five fold speedup against current state of the art vendor SVD implementations.
Euro Par