skip to main content
10.1145/2830018.2830020acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article

From DSL to HPC component-based runtime: a multi-stencil DSL case study

Published:15 November 2015Publication History

ABSTRACT

High performance architectures evolve continuously to be more powerful. Such architectures also usually become more difficult to use efficiently. As a scientist is not a low level and high performance programming expert, Domain Specific Languages (DSLs) are a promising solution to automatically and efficiently write high performance codes. However, if DSLs ease programming for scientists, maintainability and portability issues are transferred from scientists to DSL designers. This paper deals with an approach to improve maintainability and programming productivity of DSLs through the generation of a component-based parallel runtime. To study it, the paper presents a DSL for multi-stencil programs, that is evaluated on a real-case of shallow water equations.

References

  1. B. A. Allan et al. A component architecture for high-performance scientific computing. International Journal of High Performance Computing Applications, 20(2):163--202, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Augonnet, S. Thibault, R. Namyst, and P.-A. Wacrenier. StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurrency and Computation: Practice and Experience, 23(2):187--198, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Balay, W. Gropp, L. McInnes, and B. Smith. Efficient Management of Parallelism in Object Oriented Numerical Software Libraries. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools in Scientific Computing, pages 163--202. Birkhäuser Press, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. F. Baude, D. Caromel, C. Dalmasso, M. Danelutto, V. Getov, L. Henrio, and C. Pérez. Gcm: a grid extension to fractal for autonomous distributed components. annals of telecommunications, 64(1-2):5--24, 2009.Google ScholarGoogle Scholar
  5. J. Bigot, Z. Hou, C. Pérez, and V. Pichon. A low level component model easing performance portability of hpc applications. Computing, 96(12):1115--1130, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Bigot and C. Pérez. Increasing reuse in component models through genericity. In S. Edwards and G. Kulczycki, editors, Formal Foundations of Reuse and Domain Engineering, volume 5791 of Lecture Notes in Computer Science, pages 21--30. Springer Berlin Heidelberg, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Christen, O. Schenk, and H. Burkhart. PATUS: A Code Generation and Autotuning Framework for Parallel Iterative Stencil Computations on Modern Microarchitectures. In Parallel & Distributed Processing Symposium (IPDPS), 2011 IEEE International, pages 676--687. IEEE, May 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. H. Coullon and S. Limet. The SIPSim implicit parallelism model and the SkelGIS library. Concurrency and Computation: Practice and Experience, 2015.Google ScholarGoogle Scholar
  9. L. Dagum and R. Menon. Openmp: an industry standard api for shared-memory programming. Computational Science Engineering, IEEE, 5(1):46--55, Jan 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Z. DeVito, N. Joubert, F. Palacios, S. Oakley, M. Medina, M. Barrientos, E. Elsen, F. Ham, A. Aiken, K. Duraisamy, E. Darve, J. Alonso, and P. Hanrahan. SC '11, pages 9:1--9:12, New York, NY, USA, 2011. ACM.Google ScholarGoogle Scholar
  11. A. Fernández, V. Beltran, S. Mateo, T. Patejko, and E. Ayguadé. A data flow language to develop high performance computing dsls. In Proceedings of the Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, WOLFHPC '14, pages 11--20, Piscataway, NJ, USA, 2014. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Ferrari and F. Saleri. A new two-dimensional shallow water model including pressure effects and slow varying bottom topography. M2AN Math. Model. Numer. Anal., 38(2):211--234, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  13. T. Gautier, J. Lima, N. Maillard, and B. Raffin. Xkaapi: A runtime system for data-flow task programming on heterogeneous architectures. In Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing, IPDPS '13, pages 1299--1308, Washington, DC, USA, 2013. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. B. Giles, G. R. Mudalige, Z. Sharif, G. Markall, and P. H. Kelly. Performance Analysis of the OP2 Framework on Many-core Architectures. SIGMETRICS Perform. Eval. Rev., 38(4):9--15, Mar. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Mitchell. Creating minimal vertex series parallel graphs from directed acyclic graphs. In Proc. of the 2004 Australasian Symposium on Information Visualisation, volume 35 of APVis '04, pages 133--139, Darlinghurst, Australia, 2004. Australian Computer Society, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Nieplocha, B. Palmer, V. Tipparaju, M. Krishnan, H. Trease, and E. Aprà. Advances, applications and performance of the global arrays shared memory programming toolkit. Int. J. High Perform. Comput. Appl., 20(2):203--231, May 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Object Management Group. Corba component model 4.0 specification. Specification Version 4.0, Object Management Group, April 2006.Google ScholarGoogle Scholar
  18. J. Ragan-Kelley, C. Barnes, A. Adams, S. Paris, F. Durand, and S. Amarasinghe. Halide: A language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '13, pages 519--530, New York, NY, USA, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Richard, V. Lanore, and C. Pérez. Towards application variability handling with component models: 3d-fft use case study. In Proc. of The 8th Workshop on UnConventional High Performance Computing (UCHPC), Vienna, Austria, Aug. 2015. To appear.Google ScholarGoogle Scholar
  20. C. Schmitt, S. Kuckuk, F. Hannig, H. Köstler, and J. Teich. Exaslang: A domain-specific language for highly scalable multigrid solvers. In Proceedings of the Fourth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, WOLFHPC '14, pages 42--51, Piscataway, NJ, USA, 2014. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. B. Schoenmakers. A new algorithm for the recognition of series parallel graphs. Technical report, CWI - Centrum voor Wiskunde en Informatica, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2nd edition, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Y. Tang, R. Chowdhury, B. Kuszmaul, C.-K. Luk, and C. Leiserson. The pochoir stencil compiler. In L. Fortnow and S. P. Vadhan, editors, SPAA, pages 117--128. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Valdes, R. Tarjan, and E. Lawler. The recognition of series parallel digraphs. In Proceedings of the Eleventh Annual ACM Symposium on Theory of Computing, STOC '79, pages 1--12, New York, NY, USA, 1979. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. From DSL to HPC component-based runtime: a multi-stencil DSL case study

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                WOLFHPC '15: Proceedings of the 5th International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing
                November 2015
                72 pages
                ISBN:9781450340168
                DOI:10.1145/2830018

                Copyright © 2015 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 15 November 2015

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                WOLFHPC '15 Paper Acceptance Rate9of13submissions,69%Overall Acceptance Rate13of19submissions,68%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader