Pages

Tuesday, November 9, 2021

Chapel

Chapel is a modern programming language designed for productive parallel computing at scale. Chapel's design and implementation have been undertaken with portability in mind, permitting Chapel to run on multicore desktops and laptops, commodity clusters, and the cloud, in addition to the high-end supercomputers for which it was originally undertaken.

Why Chapel?  Because it simplifies parallel programming through elegant support for:

  • distributed arrays that can leverage thousands of nodes' memories and cores
  • a global namespace supporting direct access to local or remote variables
  • data parallelism to trivially use the cores of a laptop, cluster, or supercomputer
  • task parallelism to create concurrency within a node or across the system
Chapel Characteristics
  • productive: code tends to be similarly readable/writable as Python
  • scalable: runs on laptops, clusters, the cloud, and HPC systems
  • fast: performance competes with or beats C/C++ & MPI & OpenMP
  • portable: compiles and runs in virtually any *nix environment
  • open-source: hosted on GitHub, permissively licensed

 

https://github.com/chapel-lang/chapel 

https://github.com/Bears-R-Us/arkouda 

https://github.com/pnnl/chgl 

https://github.com/marcoscleison/awesome-chapel 

https://www.youtube.com/channel/UCHmm27bYjhknK5mU7ZzPGsQ 

https://news.ycombinator.com/item?id=22708041 

 

No comments:

Post a Comment