What is Chapel?
Chapel is a modern programming language that is…
- parallel: contains first-class concepts for concurrent and parallel computation
- productive: designed with programmability and performance in mind
- portable: runs on laptops, clusters, the cloud, and HPC systems
- scalable: supports locality-oriented features for distributed memory systems
- open-source: hosted on GitHub, permissively licensed
New to Chapel?
As an introduction to Chapel, you may want to…
-
- read a blog
article or book
chapter - watch an overview
talk or browse its slides - download the release
- browse sample
programs - view other resources to learn
how to trivially write distributed programs
like this:
- read a blog
use CyclicDist; // use the Cyclic distribution library config const n = 100; // use --n= when executing to override this default forall i in {1..n} dmapped Cyclic(startIdx=1) do writeln("Hello from iteration ", i, " of ", n, " running on node ", here.id);
What’s Hot?
- Chapel 1.20 is now available—download a copy or browse its release notes
- Browse presentations from
PuPPy, PAW-ATM’19, CLSAC’19, NIST, and
others - Read recent papers
from HPCS, ICCS, CCGrid, HPEC, CUG, and others - Watch talks fromHPCKP’19,
ACCU 2017,
CHIUW 2017, and others
on YouTube - Also see: What’s New?