skip to main content
10.1145/2686745.2686747acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

StenSAL: A Single Assignment Language for Relentlessly Executing Explicit Stencil Algorithms

Published:20 October 2014Publication History

ABSTRACT

Many different scientific domains make use of stencil-based algorithms to solve mathematical equations for computational modeling and simulation. Existing imperative languages map well onto physical hardware, but can be difficult for domain scientists to map to mathematical stencil algorithms. StenSAL is a domain specific language which is tailored to the expression of explicit stencil algorithms through deterministic tasks chained together through single assignment data dependencies, and generates programs that map to the relentless execution model of computation. We provide a description of the StenSAL language and grammar, some of the sanity checks that can be performed on StenSAL programs before code generation, and how the compiler translates StenSAL into Python.

References

  1. Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou. Cilk: an efficient multithreaded runtime system. SIGPLAN Not., 30(8):207--216, August 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. George Bosilca, Aurelien Bouteiller, Anthony Danalis, Thomas Herault, Pierre Lemarinier, and Jack Dongarra. Dague: A generic distributed dag engine for high performance computing. Parallel Computing, 38(1):37--51, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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, May 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Zachary DeVito, James Hegarty, Alex Aiken, Pat Hanrahan, and Jan Vitek. Terra: A multi-stage language for high-performance computing. SIGPLAN Not., 48(6):105--116, June 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Zachary DeVito, Niels Joubert, Francisco Palacios, Stephen Oakley, Montserrat Medina, Mike Barrientos, Erich Elsen, Frank Ham, Alex Aiken, Karthik Duraisamy, Eric Darve, Juan Alonso, and Pat Hanrahan. Liszt: A domain specific language for building portable mesh-based pde solvers. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, SC '11, pages 9:1--9:12, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Roberto Ierusalimschy, Luiz Henrique De Figueiredo, and Waldemar Celes Filho. Lua-an extensible extension language. Softw., Pract. Exper., 26(6):635--652, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Martin Odersky and al. An overview of the scala programming language. Technical Report IC/2004/64, EPFL Lausanne, Switzerland, 2004.Google ScholarGoogle Scholar
  8. Daniel Orozco, Elkin Garcia, Robert Pavel, Rishi Khan, and Guang Gao. Tideflow: The time iterated dependency flow execution model. In Data-Flow Execution Models for Extreme Scale Computing (DFM), 2011 First Workshop on, pages 1--9. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Armando Solar-Lezama, Gilad Arnold, Liviu Tancau, Rastislav Bodik, Vijay Saraswat, and Sanjit Seshia. Sketching stencils. SIGPLAN Not., 42(6):167--178, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Yuan Tang, Rezaul Alam Chowdhury, Bradley C. Kuszmaul, Chi-Keung Luk, and Charles E. Leiserson. The pochoir stencil compiler. In Proceedings of the Twenty-third Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA '11, pages 117--128, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lucas A Wilson and John A Lockman III. Poster: The relentless computing paradigm: a data-oriented programming model for distributed-memory computation. In Proceedings of the 2011 companion on High Performance Computing Networking, Storage and Analysis Companion, pages 53--54. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Lucas A. Wilson and John A. Lockman III. Relentless Computing: Enabling fault-tolerant, numerically intensive computation in distributed environments. In Proceedings of the 2011 International Parallel and Distributed Processing Techniques and Applications Conference (PDPTA'11), 2011.Google ScholarGoogle Scholar
  13. Lucas A. Wilson and Jeffery von Ronne. A distributed dataflow model for task-uncoordinated parallel program execution. In Proceedings of the Seventh International Workshop on Parallel Programming Models and Systems Software for High-End Computing (P2S2), 2014.Google ScholarGoogle Scholar

Index Terms

  1. StenSAL: A Single Assignment Language for Relentlessly Executing Explicit Stencil Algorithms

    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
      WOSC '14: Proceedings of the Second Workshop on Optimizing Stencil Computations
      October 2014
      70 pages
      ISBN:9781450323086
      DOI:10.1145/2686745

      Copyright © 2014 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: 20 October 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Upcoming Conference

    • Article Metrics

      • Downloads (Last 12 months)2
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader