Skip to main content

Maximizing Cache Memory Usage for Multigrid Algorithms for Applications of Fluid Flow in Porous Media

  • Conference paper
  • First Online:
Numerical Treatment of Multiphase Flows in Porous Media

Part of the book series: Lecture Notes in Physics ((LNP,volume 552))

Abstract

Computers today rely heavily on good utilization of their cache memory subsystems. Compilers are optimized for business applications, not scientific computing ones, however. Automatic tiling of complex numerical algorithms for solving partial differential equations is simply not provided by compilers. Thus, absolutely terrible cache performance is a common result.

Multigrid algorithms combine several numerical algorithms into a more complicated algorithm. In this paper, an algorithm is derived that allows for data to pass through cache exactly once per multigrid level during a V cycle before the level changes. This is optimal cache usage for large problems that do not fit entirely in cache. The numerical techniques and algorithms discussed in this paper can be easily applied to numerical simulation of fluid flows in porous media.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bank, R. E. and Douglas, C. C., Sharp estimates for multigrid rates of convergence with general smoothing and acceleration, SIAM J. Numer. Anal. 22 (1985), 617–633.

    Article  MATH  MathSciNet  Google Scholar 

  2. Douglas, C. C., Multi-grid algorithms with applications to elliptic boundary-value problems, SIAM J. Numer. Anal. 21 (1984), 236–254.

    Article  MATH  MathSciNet  Google Scholar 

  3. Douglas, C. C., Caching in with multigrid algorithms: problems in two dimensions. Paral. Alg. Appl. 9 (1996), 195–204.

    MATH  Google Scholar 

  4. Douglas, C. C., Reusable cache memory object oriented multigrid algorithms. See http://www.ccs.uky.edu/~douglas under preprints, 1999.

  5. Douglas, C. C., Hu, J., and Iskandarani, M., Preprocessing costs of cache based multigrid, in Proceeding of ENUMATH99: Third European Conference on Numerical Methods for Advanced Applications, 8 pages, Singapore, World Scientific, 2000.

    Google Scholar 

  6. Douglas, C. C., Hu, J., Karl, W., Kowarschik, M., Rüde, U., and Weiss, C., Fixed and adaptive cache aware algorithms for multigrid methods, in European Multigrid VI, Lecture Notes in Computational Science and Engineering, 7 pages, Springer, Berlin, 2000.

    Google Scholar 

  7. Douglas, C. C., Hu, J., Kowarschik, M., Rüde, U., and Weiss, C., Cache optimization for structured and unstructured grid multigrid, Electron. Trans. Numer. Anal., 9, 2000.

    Google Scholar 

  8. Douglas, C. C., Hu, J., Rüde, U., and Bittencourt, M, Cache based multigrid on unstructured two dimensional grids. Notes on Numerical Fluid Mechanics, 11 pages, Vieweg, Braunschweig, 1999, Proceeding of the 14th GAMM-Seminar Kiel on ‘Concepts of Numerical Software’, January, 1998.

    Google Scholar 

  9. Hellwagner, H., Weiß, C., Stals, L., and Rüde, U., Efficient implementation of multigrid on cache based architectures. Notes on Numerical Fluid Mechanics. Vieweg, Braunschweig, 1999, Proceeding of the 14th GAMM-Seminar Kiel on ‘Concepts of Numerical Software’, January, 1998.

    Google Scholar 

  10. McCormick, S. F., Multigrid methods for variational problems: general theory for the V-cycle, SIAM J. Numer. Anal. 22 (1985), 634–643.

    Article  MATH  MathSciNet  Google Scholar 

  11. Philbin, J., Edler, J., Anshus, O. J., Douglas, C. C., and Li, K., Thread scheduling for cache locality, in Proceedings of the Seventh ACM Conference on Architectural Support for Programming Languages and Operating Systems, pages 60–73, Cambridge, MA, 1996, ACM.

    Google Scholar 

  12. Stals, L. and Rüde, U., Techniques for improving the data locality of iterative methods. Technical Report MRR 038-97, Australian National University, 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Douglas, C.C., Hu, J., Iskandarani, M., Kowarschik, M., Rüde, U., Weiss, C. (2000). Maximizing Cache Memory Usage for Multigrid Algorithms for Applications of Fluid Flow in Porous Media. In: Chen, Z., Ewing, R.E., Shi, ZC. (eds) Numerical Treatment of Multiphase Flows in Porous Media. Lecture Notes in Physics, vol 552. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45467-5_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-45467-5_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67566-2

  • Online ISBN: 978-3-540-45467-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics