To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
Languages
Recent
Show all languages
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Chapel (programming language)

From Wikipedia, the free encyclopedia

Chapel
ParadigmObject-oriented
Partitioned global address space
Parallel programming
Designed byDavid Callahan, Hans Zima, Brad Chamberlain, John Plevyak
DeveloperHewlett Packard Enterprise (previously Cray Inc.)
First appeared2009; 15 years ago (2009)
Stable release
2.0.0 / March 21, 2024; 22 days ago (2024-03-21)
Typing disciplinestatic
inferred
Platformmultiplatform, including Amazon Web Services, HPE Cray EX
OSMac OS, Linux, POSIX, Windows (with Cygwin), NetBSD
LicenseApache License 2.0
Filename extensions.chpl
Websitechapel-lang.org
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 parallel programming language that was developed by Cray,[3] and later by Hewlett Packard Enterprise which acquired Cray. It was being developed as part of the Cray Cascade project, a participant in DARPA's High Productivity Computing Systems (HPCS) program, which had the goal of increasing supercomputer productivity by 2010. It is being developed as an open source project, under version 2 of the Apache license.[4]

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]

YouTube Encyclopedic

  • 1/5
    Views:
    1 489
    400
    379
    690
    1 118
  • The Chapel Programming Language
  • An Introduction to Chapel: Cray Cascade's High-Productivity Language
  • Chapel parallel programming language
  • CHIUW 2020: Chapel 101
  • SC16 Chapel Tutorial Promo

Transcription

Goals

Chapel aims to improve the programmability of parallel computers 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 MPI on one side, and newly graduating computer programmers who tend to prefer Java, Python or Matlab with only some of them having experience with C++ or C. Chapel should offer the productivity advances offered by the latter suite of languages while not alienating the users of the first.[2]

Features

Chapel supports a multithreaded parallel programming model at a high level by supporting abstractions for data parallelism, task parallelism, and nested parallelism. It enables optimizations for the locality of data and computation in the program via abstractions for data distribution and data-driven placement of subcomputations. It allows for code reuse and generality through object-oriented concepts and generic programming features. For instance, Chapel allows for the declaration of locales.[6]

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

  1. ^ "Chapel spec (Acknowledgments)" (PDF). Cray Inc. 2015-10-01. Retrieved 2016-01-14.
  2. ^ a b Chamberlain, Bradford L. "A Brief Overview of Chapel" (PDF). Cray Inc. Retrieved 22 April 2015.
  3. ^ Lightfoot, David E. (2006). Modular programming languages: 7th Joint Modular Languages Conference. Springer. p. 20. ISBN 978-3-540-40927-4.
  4. ^ "Chapel license information". chapel-lang.org. Retrieved November 15, 2015.
  5. ^ "Chapel Technote: GPU Programming". Hewlett Packard Enterprise. 2023-09-28. Retrieved 2023-11-03.
  6. ^ 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. doi:10.1007/978-3-642-22333-4_37. 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

External links

This page was last edited on 12 April 2024, at 02:28
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.