What is Chapel?
Chapel is a programming language designed for productive parallel computing at scale.
Why Chapel? Because it simplifies parallel programming through elegant support for:
- 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
- a global namespace supporting direct access to local or remote variables
- GPU programming in a vendor-neutral manner using the same features as above
- distributed arrays that can leverage thousands of nodes' memories and cores
- 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 conventional HPC programming models
- portable: compiles and runs in virtually any *nix environment
- open-source: hosted on GitHub, permissively licensed
- production-ready: used in real-world applications spanning diverse fields
New to Chapel?
As an introduction to Chapel, you may want to...- watch an overview talk or browse its slides
- read a chapter-length introduction to Chapel
- learn about projects powered by Chapel
- check out performance
highlights like these:
- read about GPU programming in Chapel, or watch a recent talk about it>
- browse sample programs or learn how to write distributed programs like this one:
use CyclicDist; // use the Cyclic distribution library config const n = 100; // use --n=<val> when executing to override this default forall i in Cyclic.createDomain(1..n) do writeln("Hello from iteration ", i, " of ", n, " running on node ", here.id);
What's Hot?
- Chapel 2.0 here! Read its release announcement or download it today
- Chapel has a new LinkedIn
account—follow us there
- ChapelCon '24 has been announced, and submissions are open!
- Read our new blog posts on Chapel stabilization and standard sorts in Chapel
- View recent talks
from PAW-ATM, LinuxCon, PASC, CUG, WAMTA, and more
- Video links and presentation slides from CHIUW 2023 are now available online
- Also see: What's New?