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
- 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/marcoscleison/awesome-chapel
https://www.youtube.com/channel/UCHmm27bYjhknK5mU7ZzPGsQ
https://news.ycombinator.com/item?id=22708041
No comments:
Post a Comment