Downsampling Algorithms for Large Sparse Matrices

Mapping of sparse matrices to processors of a parallel system may have a significant impact on the development of sparse-matrix algorithms and, in effect, to their efficiency. We present and empirically compare two downsampling algorithms for sparse matrices. The first algorithm is independent of particular matrix-processors mapping, while the second one is adapted for cases where matrices are partitioned among processors according to contiguous chunks of rows/columns. We show that the price for the versatility of the first algorithm is the collective communication performed by all processors. The second algorithm uses more efficient communication strategy, which stems from the knowledge of mapping of matrices to processors, and effectively outperforms the first algorithm in terms of running time.

[1]  Jon Louis Bentley,et al.  Quad trees a data structure for retrieval on composite keys , 1974, Acta Informatica.

[2]  Brendan Vastenhouw,et al.  A Two-Dimensional Data Distribution Method for Parallel Sparse Matrix-Vector Multiplication , 2005, SIAM Rev..

[3]  Jack Dongarra,et al.  Recent advances in the message passing interface : 18th European MPI Users' Group Meeting, EuroMPI 2011, Santorini, Greece, September 18-21, 2011 : proceedings , 2011 .

[4]  Ivan Simecek,et al.  Tree-based Space Efficient Formats for Storing the Structure of Sparse Matrices , 2014, Scalable Comput. Pract. Exp..

[5]  Sriram Krishnamoorthy,et al.  Noncollective Communicator Creation in MPI , 2011, EuroMPI.

[6]  Jack Dongarra,et al.  MPI - The Complete Reference: Volume 1, The MPI Core , 1998 .

[7]  Ümit V. Çatalyürek,et al.  Two-dimensional approaches to sparse matrix partitioning , 2012 .

[8]  William Gropp,et al.  Mpi---the complete reference: volume 1 , 1998 .

[9]  R.D. Falgout,et al.  An Introduction to Algebraic Multigrid Computing , 2006, Computing in Science & Engineering.

[10]  Ivan Simecek,et al.  The Study of Impact of Matrix-Processor Mapping on the Parallel Sparse Matrix-Vector Multiplication , 2013, 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[11]  Timothy A. Davis,et al.  The university of Florida sparse matrix collection , 2011, TOMS.

[12]  Pavel Tvrdík,et al.  Adaptive-blocking hierarchical storage format for sparse matrices , 2012, 2012 Federated Conference on Computer Science and Information Systems (FedCSIS).

[13]  Carl Dean Meyer,et al.  A General Framework for Iterative Aggregation/Disaggregation Methods , 1992 .

[14]  Pavel Tvrdík,et al.  Parallel data acquisition for visualization of very large sparse matrices , 2013, 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[15]  Yousef Saad,et al.  Iterative methods for sparse linear systems , 2003 .

[16]  D FalgoutRobert An Introduction to Algebraic Multigrid , 2006 .

[17]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[18]  Vipin Kumar,et al.  PSPASES: An Efficient and Scalable Parallel Sparse Direct Solver , 1999, PPSC.

[19]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.

[20]  Pavel Tvrdík,et al.  Scalable Parallel Generation of Very Large Sparse Benchmark Matrices , 2013, PPAM.

[21]  Pavel Tvrdík,et al.  Large-Scale Visualization of Sparse Matrices , 2014, Scalable Comput. Pract. Exp..

[22]  Ümit V. Çatalyürek,et al.  Hypergraph-Partitioning-Based Decomposition for Parallel Sparse-Matrix Vector Multiplication , 1999, IEEE Trans. Parallel Distributed Syst..

[23]  Bora Uçar,et al.  On Two-Dimensional Sparse Matrix Partitioning: Models, Methods, and a Recipe , 2010, SIAM J. Sci. Comput..

[24]  Cevdet Aykanat,et al.  Sparse matrix decomposition with optimal load balancing , 1997, Proceedings Fourth International Conference on High-Performance Computing.

[25]  Rob H. Bisseling,et al.  Two-dimensional cache-oblivious sparse matrix-vector multiplication , 2011, Parallel Comput..

[26]  Michael A. Heroux,et al.  Trilinos users guide. , 2003 .

[27]  Joel H. Saltz,et al.  Experimental evaluation of efficient sparse matrix distributions , 1996, ICS '96.

[28]  Pavel Tvrdík,et al.  Minimal Quadtree Format for Compression of Sparse Matrices Storage , 2012, 2012 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[29]  Pyrros Theofanis Stathis Sparse Matrix Vector Processing Formats , 2004 .

[30]  Robert D. Falgout,et al.  hypre: A Library of High Performance Preconditioners , 2002, International Conference on Computational Science.

[31]  Pavel Tvrdík,et al.  Space Efficient Formats for Structure of Sparse Matrices Based on Tree Structures , 2013, 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[32]  Nicolai M. Josuttis The C++ Standard Library: A Tutorial and Reference , 2012 .

[33]  Xiaoye S. Li,et al.  An overview of SuperLU: Algorithms, implementation, and user interface , 2003, TOMS.

[34]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .