TY - GEN
T1 - A framework for out of memory SVD algorithms
AU - Kabir, Khairul
AU - Haidar, Azzam
AU - Tomov, Stanimire
AU - Bouteiller, Aurelien
AU - Dongarra, Jack
N1 - Publisher Copyright:
© Springer International Publishing AG 2017.
PY - 2017
Y1 - 2017
N2 - Many important applications – from big data analytics to information retrieval, gene expression analysis, and numerical weather prediction – require the solution of large dense singular value decompositions (SVD). In many cases the problems are too large to fit into the computer’s main memory, and thus require specialized out-of-core algorithms that use disk storage. In this paper, we analyze the SVD communications, as related to hierarchical memories, and design a class of algorithms that minimizes them. This class includes out-of-core SVDs but can also be applied between other consecutive levels of the memory hierarchy, e.g., GPU SVD using the CPU memory for large problems. We call these out-of-memory (OOM) algorithms. To design OOM SVDs, we first study the communications for both classical one-stage blocked SVD and two-stage tiled SVD. We present the theoretical analysis and strategies to design, as well as implement, these communication avoiding OOM SVD algorithms. We show performance results for multicore architecture that illustrate our theoretical findings and match our performance models.
AB - Many important applications – from big data analytics to information retrieval, gene expression analysis, and numerical weather prediction – require the solution of large dense singular value decompositions (SVD). In many cases the problems are too large to fit into the computer’s main memory, and thus require specialized out-of-core algorithms that use disk storage. In this paper, we analyze the SVD communications, as related to hierarchical memories, and design a class of algorithms that minimizes them. This class includes out-of-core SVDs but can also be applied between other consecutive levels of the memory hierarchy, e.g., GPU SVD using the CPU memory for large problems. We call these out-of-memory (OOM) algorithms. To design OOM SVDs, we first study the communications for both classical one-stage blocked SVD and two-stage tiled SVD. We present the theoretical analysis and strategies to design, as well as implement, these communication avoiding OOM SVD algorithms. We show performance results for multicore architecture that illustrate our theoretical findings and match our performance models.
UR - http://www.scopus.com/inward/record.url?scp=85026267185&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-58667-0_9
DO - 10.1007/978-3-319-58667-0_9
M3 - Conference contribution
AN - SCOPUS:85026267185
SN - 9783319586663
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 158
EP - 178
BT - High Performance Computing - 32nd International Conference, ISC High Performance 2017, Proceedings
A2 - Kunkel, Julian M.
A2 - Balaji, Pavan
A2 - Keyes, David
A2 - Yokota, Rio
PB - Springer Verlag
T2 - 32nd International Conference, ISC High Performance, 2017
Y2 - 18 June 2017 through 22 June 2017
ER -