Reaching the Quality of SVD for Low-Rank Compression Through QR Variants
Atteindre la qualité d’une SVD avec une compression de rang faible pour différentes variantes de la factorisation QR
Résumé
Solving linear equations of type Ax=b for large sparse systems frequently emerges in science and engineering applications, which creates the main bottleneck. In spite that the direct methods are costly in time and memory consumption, they are still the most robust way to solve these systems. Nowadays, increasing the number of computational units for supercomputers has become trendy, while the memory available per core is reduced. Therefore, when solving these linear equations, memory reduction becomes as essential as time reduction. For this purpose, compression methods of dense blocks appearing inside sparse matrix solvers have been introduced to reduce the memory consumption, as well as the time to solution. While looking for the lowest possible compression rank, Singular Value Decomposition (SVD) gives the best result. It is however too costly as the whole factorization is computed to find the resulting rank. In this respect, rank-revealing QR decomposition variants are less costly but can introduce larger ranks. Among these variants, column pivoting or matrix rotation can be applied to matrix A, such that the most important information in the matrix is gathered to the leftmost columns and the remaining unnecessary information can be omitted. For reducing the communication cost of the classical QR decomposition with column pivoting, blocking versions with randomization are suggested as an alternative solution to find the pivots. In these randomized variants, matrix A is projected on a much lower dimensional matrix by using an independent and identically distributed Gaussian matrix so that the pivoting/rotational matrix can be computed on the lower dimensional matrix. In addition, to avoid unnecessary updates of the trailing matrix at each iteration, a truncated randomized method is suggested and shown to be more efficient for larger matrix sizes. Thanks to these methods, closer results to SVD can be obtained and the cost of compression can be reduced. In this report, we will compare all these methods in terms of complexity, numerical stability, obtained rank, performance, and accuracy. We will also present novel results from the integration of these methods in the PaStiX block low-rank solver.
La résolution d’équations linéaires de type Ax = b pour de grands systèmes creux apparaît fréquemment dans les applications scientifiques et constitue le principal goulot d’étranglement. Bien que les méthodes directes soient coûteuses en temps et en mémoire, elles restent la méthode la plus robuste pour résoudre certains de ces systèmes. De nos jours, on note une augmentation du nombre d’unités de calcul pour les superordinateurs alors que la mémoire disponible par cœur est réduite. Par conséquent, lors de la résolution de ces systèmes linéaires, la réduction de la mémoire devient aussi importante que la réduction du temps. A cette fin, des méthodes de compression pour les blocs denses, apparaissant lors de la factorisation des matrices creuses, ont été introduites pour réduire la consommation de mémoire, ainsi que le temps de résolution. En recherchant le rang de compression le plus faible possible, la décomposition en valeurs singulières (SVD) donne le résultat optimal. Elle est cependant trop coûteuse et nécessite une factorisation complète pour trouver le rang résultant. Les variantes de la décomposition QR sont moins coûteuses, mais peuvent conduire à des rangs plus importants. Parmi ces variantes, le pivotage des colonnes ou l’application d’une rotation peuvent être appliqués à la matrice A, de telle sorte que les informations les plus importantes de la matrice soient rassemblées dans les premières colonnes et de permettre de négliger le reste de la sous-matrice. Pour réduire le coût de communication de la décomposition QR classique avec pivotage des colonnes, des versions par bloc et utilisant des techniques de randomisation sont proposées comme solution alternative pour trouver les pivots. Dans ces variantes randomisée, la matrice A est projetée sur une matrice de dimension beaucoup plus faible en utilisant une matrice gaussienne dont chaque variable aléatoire a la même distribution de probabilité que les autres et toutes sont mutuellement indépendantes. Ainsi, la matrice de pivotage/rotation peut être calculée en dimensions réduites. En outre, pour éviter les mises à jour inutiles sur la sous-matrice à chaque itération, une méthode randomisée tronquée est proposée et s’avère plus efficace pour les matrices de grande taille. Grâce à ces méthodes, des résultats proches de SVD peuvent être obtenus et le coût de la compression peut être réduit. Dans ce rapport, nous comparerons toutes ces méthodes en termes de complexité, stabilité numérique, rang obtenu, performance et précision. Nous présenterons également les nouveaux résultats de l’intégration de ces méthodes dans le solveur PaStiX utilisation la compression de rang faible.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|