Advertisement

Combining Performance Aspects of Irregular Gauss-Seidel Via Sparse Tiling

  • Michelle Mills Strout
  • Larry Carter
  • Jeanne Ferrante
  • Jonathan Freeman
  • Barbara Kreaseck
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2481)

Abstract

Finite Element problems are often solved using multigrid techniques. The most time consuming part of multigrid is the iterative smoother, such as Gauss-Seidel. To improve performance, iterative smoothers can exploit parallelism, intra-iteration data reuse, and inter-iteration data reuse. Current methods for parallelizing Gauss-Seidel on irregular grids, such as multi-coloring and owner-computes based techniques, exploit parallelism and possibly intra-iteration data reuse but not inter-iteration data reuse. Sparse tiling techniques were developed to improve intra-iteration and inter-iteration data locality in iterative smoothers. This paper describes how sparse tiling can additionally provide parallelism. Our results show the effectiveness of Gauss-Seidel parallelized with sparse tiling techniques on shared memory machines, specifically compared to owner-computes based Gauss-Seidel methods. The latter employ only parallelism and intra-iteration locality. Our results support the premise that better performance occurs when all three performance aspects (parallelism, intra-iteration, and inter-iteration data locality) are combined.

Keywords

Sparse Matrix Iteration Space Iteration Point Partition Numbering Data Reuse 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Adams, M.F.: Finite element market, http://www.cs.berkeley.edu/~madams/femarket/index.html
  2. 2.
    Adams, M.F.: A distributed memory unstructured Gauss-Seidel algorithm for multigrid smoothers. In: ACM (ed.) SC 2001: High Performance Networking and Computing. Denver,CO (2001)Google Scholar
  3. 3.
    Adams, M.F.: Evaluation of three unstructured multigrid methods on 3D finite element problems in solid mechanics. International Journal for Numerical Methods in Engineering (to appear)Google Scholar
  4. 4.
    Alms̀i, G., Padua, D.: Majic: Compiling matlab for speed and responsiveness. In: PLDI 2002 (2002)Google Scholar
  5. 5.
    Barrett, R., Berry, M., Chan, T.F., Demmel, J., Donato, J., Dongarra, J., Eijkhout, V., Pozo, R., Romine, C., Van der Vorst, H.: Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2nd edn. SIAM, Philadelphia (1994)Google Scholar
  6. 6.
    Bassetti, F., Davis, K., Quinlan, D.: Optimizing transformations of stencil operations for parallel object-oriented scientific frameworks on cache-based architectures. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds.) ISCOPE 1998. LNCS, vol. 1505, pp. 107–118. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  7. 7.
    Berger, E., Lin, C., Guyer, S.Z.: Customizing software libraries for performance portability. In: 10th SIAM Conference on Parallel Processing for Scientific Computing (March 2001)Google Scholar
  8. 8.
    Carr, S., Kennedy, K.: Compiler blockability of numerical algorithms. The Journal of Supercomputing, 114–124 (November 1992)Google Scholar
  9. 9.
    Chauhan, A., Kennedy, K.: Optimizing strategies for telescoping languages: Procedure strength reduction and procedure vectorization. In: Proceedings of the 15th ACM International Conference on Supercomputing, New York, pp. 92–102 (2001)Google Scholar
  10. 10.
    Culberson, J.: Graph coloring programs, http://www.cs.ualberta.ca/joe/Coloring/Colorsrc/index.html
  11. 11.
    Ding, C., Kennedy, K.: Improving cache performance in dynamic applications through data and computation reorganization at run time. In: Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation, Atlanta, Georgia, May 1-4, pp. 229–241 (1999)Google Scholar
  12. 12.
    Douglas, C.C., Hu, J., Kowarschik, M., Rüde, U., Weiß, C.: Cache Optimization for Structured and Unstructured Grid Multigrid. Electronic Transaction on Numerical Analysis, 21–40 (February 2000)Google Scholar
  13. 13.
    Engler, D.R.: Interface compilation: Steps toward compiling program interfaces as languages. IEEE Transactions on Software Engineering 25(3), 387–400 (1999)CrossRefGoogle Scholar
  14. 14.
    Gannon, D., Jalby, W., Gallivan, K.: Strategies for cache and local memory management by global program transformation. Journal of Parallel and Distributed Computing 5(5), 587–616 (1988)CrossRefGoogle Scholar
  15. 15.
    Hagger, M.J.: Automatic domain decomposition on unstructured grids (doug). Advances in Computational Mathematics (9), 281–310 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Han, H., Tseng, C.-W.: A comparison of locality transformations for irregular codes. In: Dwarkadas, S. (ed.) LCR 2000. LNCS, vol. 1915, pp. 70–84. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  17. 17.
    Van Henson, E., Yang, U.M.: BoomerAMG: A parallel algebraic multigrid solver and preconditioner. Applied Numerical Mathematics: Transactions of IMACS 41(1), 155–177 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Holst, M.: Fetk - the finite element tool kit, http://www.fetk.org
  19. 19.
    Im, E.-J.: Optimizing the Performance of Sparse Matrix-Vector Multiply. Ph.d. thesis, University of California, Berkeley (May 2000)Google Scholar
  20. 20.
    Irigoin, F., Triolet, R.: Supernode partitioning. In: Proceedings of the 15th Annual ACM SIGPLAN Symposium on Priniciples of Programming Languages, 319–329 (1988)Google Scholar
  21. 21.
    Jin, G., Mellor-Crummey, J., Fowler, R.: Increasing temporal locality with skewing and recursive blocking. In: SC 2001: High Performance Networking and Computing, Denver, Colorodo, November 2001. ACM Press/IEEE Computer Society Press (2001)Google Scholar
  22. 22.
    Karypis, G., Kumar, V.: Multilevel k-way partitioning scheme for irregular graphs. Journal of Parallel and Distributed Computing 48(1), 96–129 (1998)CrossRefMathSciNetGoogle Scholar
  23. 23.
    Kodukula, I., Ahmed, N., Pingali, K.: Data-centric multi-level blocking. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 1997), June 15-18. ACM SIGPLAN Notices, vol. 32(5), pp. 346–357. ACM Press, New York (1997)CrossRefGoogle Scholar
  24. 24.
    McKinley, K.S., Carr, S., Tseng, C.-W.: Improving data locality with loop transformations. ACM Transactions on Programming Languages and Systems 18(4), 424–453 (1996)CrossRefGoogle Scholar
  25. 25.
    Mellor-Crummey, J., Whalley, D., Kennedy, K.: Improving memory hierarchy performance for irregular applications. In: Proceedings of the 1999 Conference on Supercomputing, ACM SIGARCH, pp. 425–433 (June 1999)Google Scholar
  26. 26.
    Mitchell, N., Carter, L., Ferrante, J.: Localizing non-affine array references. In: Proceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques (PACT 1999), Newport Beach, California, October 12-16, pp. 192–202. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  27. 27.
    Pugh, W., Rosser, E.: Iteration space slicing for locality. In: Carter, L., Ferrante, J. (eds.) LCPC 1999. LNCS, vol. 1863, p. 164. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  28. 28.
    Quinlan, D.: Rose: Compiler support for object-oriented frameworks. In: Proceedings of Conference on Parallel Compilers (CPC 2000), Aussois, France, January 2000. Also published in a special issue of Parallel Processing Letters 10 (2000)Google Scholar
  29. 29.
    Sellappa, S., Chatterjee, S.: Cache-efficient multigrid algorithms. In: Alexandrov, V.N., Dongarra, J., Juliano, B.A., Renner, R.S., Tan, C.J.K. (eds.) ICCS-ComputSci 2001. LNCS, vol. 2073, p. 107. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  30. 30.
    Sharma, S.D., Ponnusamy, R., Moon, B., Hwang, Y.-S., Das, R., Saltz, J.: Run-time and compile-time support for adaptive irregular problems. In: Supercomputing 1994. IEEE Computer Society, Los Alamitos (1994)Google Scholar
  31. 31.
    Smith, B.F., Bjørstad, P.E., Gropp, W.: Domain Decomposition: Parallel Multilevel Methods for Elliptic Partial Differential Equations. Cambridge University Press, Cambridge (1996)zbMATHGoogle Scholar
  32. 32.
    Song, Y., Li, Z.: New tiling techniques to improve cache temporal locality. ACM SIGPLAN Notices 34(5), 215–228 (1999)CrossRefGoogle Scholar
  33. 33.
    Strout, M.M., Carter, L., Ferrante, J.: Rescheduling for locality in sparse matrix computations. In: Alexandrov, V.N., Dongarra, J., Juliano, B.A., Renner, R.S., Tan, C.J.K. (eds.) ICCS-ComputSci 2001. LNCS, vol. 2073, p. 137. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  34. 34.
    Wolf, M.E., Lam, M.S.: A data locality optimizing algorithm. In: Programming Language Design and Implementation (1991)Google Scholar
  35. 35.
    Wolfe, M.J.: Iteration space tiling for memory hierarchies. In: Third SIAM Conference on Parallel Processing for Scientific Computing, pp. 357–361 (1987)Google Scholar
  36. 36.
    Wonnacott, D.: Achieving scalable locality with time skewing. International Journal of Parallel Programming 30(3), 181–221 (2002)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Michelle Mills Strout
    • 1
  • Larry Carter
    • 1
  • Jeanne Ferrante
    • 1
  • Jonathan Freeman
    • 1
  • Barbara Kreaseck
    • 1
  1. 1.University of CaliforniaSan DiegoUSA

Personalised recommendations