The I/O Complexity of Sparse Matrix Dense Matrix Multiplication

  • Gero Greiner
  • Riko Jacob
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6034)


We consider the multiplication of a sparse N ×N matrix A with a dense N ×N matrix B in the I/O model. We determine the worst-case non-uniform complexity of this task up to a constant factor for all meaningful choices of the parameters N (dimension of the matrices), k (average number of non-zero entries per column or row in A, i.e., there are in total kN non-zero entries), M (main memory size), and B (block size), as long as M ≥ B 2 (tall cache assumption).

For large and small k, the structure of the algorithm does not need to depend on the structure of the sparse matrix A, whereas for intermediate densities it is possible and necessary to find submatrices that fit in memory and are slightly denser than on average.

The focus of this work is asymptotic worst-case complexity, i.e., the existence of matrices that require a certain number of I/Os and the existence of algorithms (sometimes depending on the shape of the sparse matrix) that use only a constant factor more I/Os.


Bipartite Graph Average Degree Sparse Matrix External Memory Internal Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Bader, M., Heinecke, A.: Cache oblivious dense and sparse matrix multiplication based on peano curves. In: PARA 2008. LNCS. Springer, Heidelberg (accepted for publication)Google Scholar
  3. 3.
    Bender, M.A., Brodal, G.S., Fagerberg, R., Jacob, R., Vicari, E.: Optimal sparse matrix dense vector multiplication in the I/O-model. In: Proceedings of SPAA 2007, pp. 61–70. ACM, New York (2007)CrossRefGoogle Scholar
  4. 4.
    Bulucc, A., Gilbert, J.R.: Challenges and advances in parallel sparse matrix-matrix multiplication. In: Proceedings of ICPP 2008, Portland, Oregon, USA, September 2008, pp. 503–510 (2008)Google Scholar
  5. 5.
    Hong, J.-W., Kung, H.T.: I/O complexity: The red-blue pebble game. In: Proceedings of STOC 1981, pp. 326–333. ACM, New York (1981)Google Scholar
  6. 6.
    Kowarschik, M., Weiß, C.: An overview of cache optimization techniques and cache-aware numerical algorithms. Algorithms for Memory Hierarchies, 213–232 (2003)Google Scholar
  7. 7.
    Landsberg, J.M.: Geometry and the complexity of matrix multiplication. Bulletin of the American Mathematical Society 45, 247–284 (2008)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Lieber, T.: Combinatorial approaches to optimizing sparse matrix dense vector multiplication in the I/O-model. Master’s thesis, Informatik Technische Universität München (2009)Google Scholar
  9. 9.
    Navarro, J.J., García-Diego, E., Larriba-Pey, J.-L., Juan, T.: Block algorithms for sparse matrix computations on high performance workstations. In: Proceedings of ICS 1996, pp. 301–308. ACM, New York (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Gero Greiner
    • 1
  • Riko Jacob
    • 1
  1. 1.Technische Universität München 

Personalised recommendations