The Chapel Parallel Programming Language

 

Powered by Chapel

The following projects use Chapel. Click the arrows for details.

Arkouda (αρκούδα): NumPy-like Arrays at Massive Scale for Python
Who:
Michael Merrill (DOD), William Reus (DOD)
What:
Arkouda allows a user to interactively issue from the Python3 interpreter massively parallel computations on distributed data using functions and syntax that mimic NumPy, the underlying computational library used in the vast majority of Python data science workflows. The computational heart of Arkouda is a Chapel interpreter that accepts a pre-defined set of commands from a client (currently implemented in Python) and uses Chapel's built-in machinery for multi-locale and multithreaded execution. Arkouda has benefited greatly from Chapel's distinctive features and has also helped guide the development of the language.
For More Info:
See Arkouda's GitHub page.

CHAMPS: Chapel Multi-Physics Simulations
Who:
Research lab of professor Eric Laurendeau
Where:
Polytechnique Montréal, Canada
What:
CHAMPS is multi-physics software oriented toward fluid dynamics, written completely in Chapel and developed to solve systems of equations in a general manner. A key theme is to easily expand the capabilities of the software while keeping good performance on distributed memory. The software currently handles 2D and 3D unstructured grids to solve RANS equations with a finite volume approach using the Spalart-Allmaras turbulence model for closure. Different spatial discretization schemes and linear solvers can be used, including a variety of solvers from the PETSc library for which an API has been developed. Other C libraries for which APIs were developed in this project include the CGNS (CFD General Notation System) library, the Intel MKL library and the METIS library. The overall performance achieved with Chapel is comparable to equivalent C/C++/MPI approaches. Future developments will include multi-fidelty simulations in aerodynamics, aero-elasticity, and aero-icing.
For More Info:
See Eric Laurendeau's faculty page.

CHGL: Hypergraph Analytics in Chapel CHGL logo
Who:
Jesun Firoz, Cliff Joslyn, Mark Raugas (PNNL)
What:
The Chapel Hypergraph Library (CHGL) is a library for hypergraph computation in the Chapel language. Hypergraphs generalize graphs, where a hypergraph edge can connect any number of vertices. Thus, hypergraphs capture high-order, high-dimensional interactions between multiple entities that are not directly expressible in graphs. CHGL is designed to provide HPC-class computation with high-level abstractions and modern language support for parallel computing on shared- and distributed memory systems.
For More Info:
See the CHGL GitHub page.

ChOp: Chapel-based Optimization
Who:
Tiago Carneiro , Nouredine Melab, Jan Gmys, Daniel Tuyttens, El-Ghazali Talbi
Where:
INRIA Lille, France; CRIStAL, France; University of Mons, Belgium
What:
This project aims at programming distributed algorithms for solving big instances of combinatorial optimization problems, taking into account productivity, parallel efficiency, heterogeneity, and fault tolerance. This project comprises heuristic and exact optimization algorithms, and its main application is a distributed Branch-and-Bound for solving permutation-based combinatorial problems.
For More Info:
See Towards ultra-scale Branch-and-Bound using a high-productivity language.

ChplUltra: Simulating Ultralight Dark Matter
Who:
Nikhil Padmanabhan, J. Luna Zagorac, Richard Easther
Where:
Yale University, University of Auckland
What:
chplUltra is designed to simulate the dynamics of ultra-light dark matter for astrophysics. Ultralight dark matter is a relatively new proposal designed to alleviate some of the challenges faced by the more traditional WIMP (weakly interacting massive particles) candidates. It has a rich phenomenology, including the formation of Bose-Einstein condensate solitons and interference effects from the wave-like behavior of the particles. chplUltra is a pseudo-spectral fixed grid code designed to evolve the Schrodinger-Poisson equations. The code uses a Chapel distributed FFT routine, built around the serial FFTW library. Using Chapel allows the authors to rapidly extend the code and to simultaneously scale it out to ~100s of nodes. The code has been run on up to 512 nodes (18k cores) on a Cray XC system.
For More Info:
See this PAW-ATM 2019 short paper and presentation

CrayAI: Distributed Machine Learning Workflow Libraries
Who:
Cray, a Hewlett Packard Enterprise Company
What:
CrayAI is a suite of distributed machine learning workflow libraries designed with HPC in mind. These libraries are portable, running on anything from a laptop up to a supercomputer. The core back-end of these libraries is written in Chapel, while the user-facing interface is Python. CrayAI currently consists of Cray HPO and Cray FS. Cray HPO is a distributed black-box hyperparameter optimization framework and Cray FS is a distributed feature selection library.
For More Info:
See the CrayAI Documentation pages.

Your Project Here? If you're using Chapel in interesting ways, let us know!