Content deleted Content added
No edit summary Tags: Mobile edit Mobile web edit |
Since Novemer 16, 2020 "When Hewlett Packard Enterprise acquired Cray in 2020, the Cray mark was dropped, resulting in the current logo." https://chapel-lang.org/logo.html "The LLVM backend is now the default and it is easiest to use it with a system-wide installation of LLVM." |
||
Line 10:
| released = {{Start date and age|2009}}
| designer = David Callahan, Hans Zima, Brad Chamberlain, John Plevyak
| developer = [[Hewlett Packard Enterprise]] (previously [[Cray|Cray Inc.]])
| latest release version = 1.
| latest release date = {{Start date and age|2022|
| latest preview version =
| latest preview date = <!-- {{start date and age|2013|10|17}} -->
Line 18:
| implementations =
| dialects =
| influenced by = [[Ada (programming language)|Ada]], [[C Sharp (programming language)|C#]],<ref name="chplspec">{{cite web|title=Chapel spec (Acknowledgments)|url=http://chapel.cray.com/spec/spec-0.98.pdf|date=2015-10-01|access-date=2016-01-14|publisher=Cray Inc}}</ref> [[C (programming language)|C]], [[Fortran]], [[C++]], [[Java (programming language)|Java]], [[High Performance Fortran|HPF]], [[ZPL (programming language)|ZPL]], [[Cray MTA]] / [[Cray XMT|XMT]] extensions to C and Fortran.<ref name=Overview>{{cite web |url=http://chapel.cray.com/papers/BriefOverviewChapel.pdf |title=A Brief Overview of Chapel |first=Bradford L.
| influenced =
| programming language =
| platform = multiplatform, including [[Amazon Web Services]], [[HPE Cray EX]]
| operating system = [[Mac OS]], [[Linux]], [[POSIX]], [[Windows]] (with [[Cygwin]]), [[NetBSD]]
| license = [[Apache License 2.0]]
| website = {{URL|https://chapel-lang.org/}}
| wikibooks =
}}
'''Chapel''', the '''Cascade High Productivity Language''', is a [[parallel programming language]] that was developed by [[Cray]]
The Chapel compiler is written in [[C programming language)|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 [[language binding|bindings]] for Chapel. By default Chapel compiles to binary expendables, 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 includes preliminary work to target NVidia GPUs.
Chapel 2.0 is expected in the next six months.<ref>{{Cite web |title=CHAPEL 1.27.0/1.28.0 RELEASE NOTES: PROPOSED PRIORITIES FOR NEXT SIX MONTHS |url=https://chapel-lang.org/releaseNotes/1.27-1.28/06-priorities.pdf}}</ref> The current version 1.28 [[deprecation|deprecates]] a lot of functions, and also syntax, the [[input/output|I/O]]-operator <code><~></code>.
==Goals==
Chapel aims to improve the programmability of [[parallel computer]]s in general and the Cascade system in particular, by providing a higher level of expression than current programming languages do and by improving the separation between algorithmic expression and [[data structure]] implementation details.
The language designers aspire for Chapel to bridge the gap between current [[high-performance computing|HPC]] programming practitioners, who they describe as Fortran, C or C++ users writing [[procedural code]] using technologies like [[OpenMP]] and [[
==Features==
Chapel supports a [[
{{Cite conference
| author1 = Bongen Gu
|