Chapel (programming language)
Developer Hewlett Packard Enterprise (previously Cray Inc.) | | |
First appeared | 2009 | |
---|---|---|
Stable release | 2.0.0
/ March 21, 2024 | |
Apache License 2.0 | ||
Filename extensions | .chpl | |
Website | chapel-lang | |
Influenced by | ||
Ada, C#,[1] C, Fortran, C++, Java, HPF, ZPL, Cray MTA / XMT extensions to C and Fortran.[2] |
Chapel, the Cascade High Productivity Language, is a
The Chapel compiler is written in C and C++ (C++14). The backend (i.e. the optimizer) is LLVM, written in C++. Python 3.7 or newer is required for some optional components such Chapel’s test system and c2chapel, a tool to generate C bindings for Chapel. By default Chapel compiles to binary executables, but it can also compile to C code, and then LLVM is not used. Chapel code can be compiled to libraries to be callable from C, or Fortran or e.g. Python also supported. Chapel supports GPU programming through code generation for NVIDIA and AMD graphics processing units.[5]
Goals
Chapel aims to improve the programmability of
The language designers aspire for Chapel to bridge the gap between current
Features
Chapel supports a
While Chapel borrows concepts from many preceding languages, its parallel concepts are most closely based on ideas from High Performance Fortran (HPF), ZPL, and the Cray MTA's extensions to Fortran and C.
See also
Notes
- ^ "Chapel spec (Acknowledgments)" (PDF). Cray Inc. 2015-10-01. Retrieved 2016-01-14.
- ^ a b Chamberlain, Bradford L. "A Brief Overview of Chapel" (PDF). Cray Inc. Retrieved 22 April 2015.
- ISBN 978-3-540-40927-4.
- ^ "Chapel license information". chapel-lang.org. Retrieved November 15, 2015.
- ^ "Chapel Technote: GPU Programming". Hewlett Packard Enterprise. 2023-09-28. Retrieved 2023-11-03.
- ^
Bongen Gu; Wikuan Yu; Yoonsik Kwak (June 28–30, 2011). "Communication and Computation Overlap through Task Synchronization in Multi-locale Chapel Environment". In James J. Park, Laurence T. Yang and Changhoon Lee (ed.). Future Information Technology, Part I: 6th International Conference. Loutraki, Greece: Springer-Verlag. pp. 285–292. ISBN 978-3-642-22332-7.
References
- Chamberlain, Bradford L. (2011). "Chapel (Cray Inc. HPCS Language)". In Padua, David (ed.). Encyclopedia of Parallel Computing, Volume 4. Springer. ISBN 9780387097657.
Further reading
- Brueckner, Rich (August 6, 2014). "Why Chapel for Parallel Programming?". InsideHPC. Retrieved 2015-03-23.
- Dun, Nan; Taura, K. (2012). "An Empirical Performance Study of Chapel Programming Language". 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum. S2CID 5904611.
- Padua, David, ed. (2011). Encyclopedia of Parallel Computing. Vol. 4. Springer Science & Business Media. pp. 249–256. ISBN 9780387097657.
- Panagiotopoulou, K.; Loidl, H. W. (2016). "Transparently Resilient Task Parallelism for Chapel" Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2016 IEEE International Symposium, Chicago, IL. ISBN 978-1-5090-3682-0