What is Chapel?

Note: this page is no longer being maintained.
Please refer to this replacement page instead

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
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 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...

What's Hot?