A report on developing MCP-based integrations for the Chapel programming language| Posts on Chapel Language Blog
The fifth archival post from the 2012 IEEE TCSC blog series with a current reflection on it| chapel-lang.org
An interview with the two principal developers of ChOp, the Chapel-based Optimization Project| Posts on Chapel Language Blog
The fourth archival post from the 2012 IEEE TCSC blog series with a current reflection on it| chapel-lang.org
The Chapel Programming Language - go to homepage| chapel-lang.org
10 Myths About Scalable Parallel Programming Languages (Redux), Part 3: New Languages vs. Language Extensions| chapel-lang.org
A third archival post from the 2012 IEEE TCSC blog series with a current reflection on it| chapel-lang.org
Highlights from the June 2025 release of Chapel 2.5| Posts on Chapel Language Blog
Another archival post from the IEEE TCSC blog in 2012 with a current reflection on it| chapel-lang.org
An archival post from the IEEE TCSC blog in 2012 with a modern reflection on it| Posts on Chapel Language Blog
An introduction to interoperating between Chapel and Fortran| chapel-lang.org
A description of how Chapel’s features for memory safety strike a balance between productivity and performance, with comparisons to other languages| chapel-lang.org
Announcing our plans for ChapelCon ‘25| chapel-lang.org
Productivity Highlights Easy and Fast Ramp Up Chapel enables users to bring new contributors up to speed in record time. Writes Faster, Runs Faster Peer-reviewed studies show that Chapel is faster and more productive than alternatives. Language Tooling Support The Chapel language server and linter integrate with your favorite editor to supercharge your development experience. Concise but Fast Computer Language Benchmarks Game When compared against other common programming languages, solutions...| The Chapel Programming Language
Designed for Supercomputers, Delivers on Desktop Too Sorting Chapel's standard library sort runs an order of magnitude faster than that of the next fastest language. Learn More Poisson Solver Chapel solutions to Poisson's equation outperform C++ solutions while requiring less code overall. Learn More 1 Billion Row Challenge Chapel can process massive amounts of data, all on a single multi-core machine.| The Chapel Programming Language
Check out the Chapel Community Calendar (Downloadable ICS) for a published Outlook calendar of Chapel community events. Written Q&A / Conversation Stack Overflow The ideal place to ask questions that would also benefit others (tagged chapel) Discourse A place for threaded discussions via email or browser, by category: Announcements: notable news items Users: for questions and discussions from a Chapel user perspective Developers: for those working on improving Chapel's implementation Notifica...| The Chapel Programming Language
Parallelism at Any Scale Chapel is built from the ground up with productive and performant parallel computing in mind. Conventionally, leveraging parallelism at different scales requires different programming models with different features, syntax, and interfaces. Chapel programs can leverage multiple types of parallelism with a single unified set of language features: Shared-Memory Parallelism Effortlessly leverage your multi-core CPUs for task and data parallelism. CPU and GPU Parallelism U...| The Chapel Programming Language
Downloading from Source To download and install Chapel from source, download chapel-2.4.0.tar.gz from GitHub, then unpack and build it as described in the Quickstart instructions. Downloading with Spack To get started with the Chapel Spack package: Install the Spack package manager on your system, if it isn’t already there. To customize the Chapel installation, use the variants of the Chapel Spack package as opposed to the normal CHPL_* environment variables. Most settings described in Chap...| The Chapel Programming Language
Examples Featured Examples GPU Support Engin Kayraklioglu A repository of GPU programming examples in Chapel Other Examples Optimization Algorithms Tiago Carneiro Large-scale exact distributed optimization algorithms including prototype for enumerating all feasible and complete configurations of the N-Queens Advent of Code 2023 Michelle Strout A repository of Advent of Code 2023 programs written in Chapel Monte Carlo Simulation Engin Kayraklioglu Tutorial of Monte Carlo simulation written in ...| The Chapel Programming Language
GPUs are the powerhouse of modern computing systems. Chapel’s general-purpose capabilities for parallelism and locality control makes GPU programming as easy as programming a multi-core CPU. These capabilities makes GPU programming intuitive on a laptop with a GPU, on a leadership-class supercomputer, or anything in between. Chapel supports programming NVIDIA and AMD GPUs in a vendor-neutral way; the same code can be used on GPUs from both vendors without any change.| The Chapel Programming Language
Recommended Resources Introductory Tutorial Learn about the basics of Chapel, including how to compile and run Chapel programs. This tutorial works through a heat diffusion simulation. Parallel Programming in Chapel Learn about how Chapel can scale complex dynamics programs with Alex Razoumov’s 3 part course on parallel programming in Chapel. Chapel Feature Primers Learn more about specific features of the Chapel langauge with our primer series.| The Chapel Programming Language
Papers Featured Publications Development of a Knowledge-Sharing Parallel Computing Approach for Calibrating Distributed Watershed Hydrologic Models Marjan Asgari, Wanhong Yang, John Lindsay, Hui Shao, Yongbo Liu, Rodrigo De Queiroga Miranda, and Maryam Mehri Dehnavi, Environmental Modelling & Software, volume 164, 2023 This paper uses Chapel in a novel knowledge-sharing setting to support a general parallel framework for calibrating distributed hydrologic models. The approach is unique due to...| The Chapel Programming Language
Presentations Featured Presentations Introducing Chapel: A Programming Language for Productive Parallel Computing from Laptops to Supercomputers [ Video ] Brad Chamberlain, LinuxCon / Open Source Summit North America 2023, Vancouver BC, May 11, 2023 This introduction to Chapel provides the language's motivation and brief comparisons with familiar languages and HPC programming models. It then introduces some of Chapel's core features for parallelism and locality, showing how they have recently...| The Chapel Programming Language
Highlights Introducing Chapel: A Programming Language for Productive Parallel Computing from Laptops to Supercomputers [ Video ] Brad Chamberlain, LinuxCon / Open Source Summit North America 2023, Vancouver BC, May 11, 2023 This introduction to Chapel provides the language's motivation and brief comparisons with familiar languages and HPC programming models. It then introduces some of Chapel's core features for parallelism and locality, showing how they have recently been extended to also sup...| The Chapel Programming Language
Workflows written using Chapel scale enormously. The same code written on your laptop can perform on however many nodes you can give it, be it one, dozens, or thousands. Applications written by Chapel users have successfully scaled to more than 8,000 compute nodes, 1,000,000 CPU cores, and 1,000 GPUs. The largest supercomputers in the world run Chapel. No matter the scale of your system, you can scale too. Scaling Results with Chapel Arkouda Argsort Arkouda's argsort routine can sort 256 TiB ...| The Chapel Programming Language
Interested in supporting the Chapel project? Here are some ways you can get involved Star us on github Follow us on social media Contribute your Chapel code to our examples repository Write a blog post about how you or your team are using Chapel If you’re interested in more in-depth support, please email us using the ‘Email’ link in the footer below| The Chapel Programming Language
Download| chapel-lang.org
Highlights from the March 2025 release of Chapel 2.4| chapel-lang.org
An introduction to the Chapel blog, and our intentions and plans for it.| Posts on Chapel Language Blog
Writing a distributed and parallel Navier-Stokes solver in Chapel, with an MPI performance comparison| Posts on Chapel Language Blog
A call for computational science collaborations around Chapel and Python| Posts on Chapel Language Blog
This post is a retrospective on ChapelCon ‘24| Posts on Chapel Language Blog
A Chapel Implementation of the One Billion Row Challenge| Posts on Chapel Language Blog
A summary of highlights from the September 2024 release of Chapel 2.2| Posts on Chapel Language Blog
A summary of highlights from the June 2024 release of Chapel 2.1| Posts on Chapel Language Blog
A summary of highlights from the December 2023 release of Chapel 1.33.0| Posts on Chapel Language Blog
The Chapel team’s plan for blogging during Advent of Code 2022.| Posts on Chapel Language Blog
An interview with Bill Reus about the creation of Arkouda, a Python library supporting interactive data analysis on HPC systems| Posts on Chapel Language Blog
A demonstration of using Chapel’s compiler library to develop custom language tooling| Posts on Chapel Language Blog
A summary of highlights at SC24 relating to Chapel and Arkouda| Posts on Chapel Language Blog
An interview with Computer Science Professor David Bader about his use of Arkouda for graph analytics| Posts on Chapel Language Blog
Introduction to Chapel’s distributed programming concepts used in Navier-Stokes Simulation| Posts on Chapel Language Blog
An interview with Professor of Environmental Engineering Nelson Luís Dias about his use of Chapel in analyzing Atmospheric Turbulence| Posts on Chapel Language Blog
This post shows how to write a distributed tuning program in Chapel| Posts on Chapel Language Blog
An interview with oceanographer Scott Bachman, focusing on his work to measure coral reef biodiversity using satellite image analysis| Posts on Chapel Language Blog
An interview with CHAMPS PI and Professor of Mechanical Engineering, Éric Laurendeau| Posts on Chapel Language Blog
This post demonstrates using the Windows Subsystem for Linux to run Chapel code on a GPU from NVIDIA| Posts on Chapel Language Blog
An exploration of Chapel’s scientific computing capabilities using the CFD Python Tutorial and a C++/OpenMP performance comparison| Posts on Chapel Language Blog
In this article, we use advanced features of the Chapel type system to implement a general linear multistep method evaluator for approximating differential equations.| Posts on Chapel Language Blog
This post covers how Chapel’s arrays, parallelism, and locality features enable moving data between CPUs and GPUs.| Posts on Chapel Language Blog
A starting point for applying Chapel to scientific computing problems using the CFD Python tutorial.| Posts on Chapel Language Blog
An introduction to new editor features supported by Chapel.| Posts on Chapel Language Blog
This post discusses why we rebranded CHIUW to ChapelCon and what to expect from it.| Posts on Chapel Language Blog
A summary of breaking and other notable additions made since Chapel 1.32| Posts on Chapel Language Blog
This blog post compares the performance of standard library sort routines in several programming languages.| Posts on Chapel Language Blog
A summary of highlights at SC23 relating to Chapel and Arkouda| Posts on Chapel Language Blog
A summary of highlights from the September 2023 release of Chapel 1.32.0| Posts on Chapel Language Blog
A summary of highlights from the June 2023 release of Chapel 1.31.0| Posts on Chapel Language Blog
Exploring distributed file IO in Chapel using distributed domains, arrays, and hyperslabs while handling unknown dataset shapes| Posts on Chapel Language Blog
An introduction to C interoperability in Chapel using the NetCDF library| Posts on Chapel Language Blog
A summary of highlights from the March 2023 release of Chapel 1.30.0| Posts on Chapel Language Blog
A summary of our twelve days of AoC 2022 and a peek at some of Chapel’s distributed programming features| Posts on Chapel Language Blog
A solution to day twelve of AoC 2022, covering atomic variables and recursive task parallelism| Posts on Chapel Language Blog
A parallel solution to day eleven of AoC 2022, using Chapel’s task parallel features.| Posts on Chapel Language Blog
A summary of highlights from the December 2022 release of Chapel 1.29.0| Posts on Chapel Language Blog
A solution to day ten of AoC 2022, introducing scan expressions.| Posts on Chapel Language Blog
A solution to day nine of AoC 2022, covering select-statements, arrays, and math functions| Posts on Chapel Language Blog
A solution to day eight of AoC 2022, introducing domains and multidimensional arrays.| Posts on Chapel Language Blog
A solution to day seven of AoC 2022, introducing classes and memory management.| Posts on Chapel Language Blog
A parallel solution to day six of AoC 2022, introducing configs, parallel loop expressions, range translation, and named, unbounded, and counted ranges.| Posts on Chapel Language Blog
A solution to day five of AoC 2022 featuring arrays, lists, strided ranges, zippered iteration, unbounded ranges, and references.| Posts on Chapel Language Blog
A couple of succinct solutions to day four of AoC 2022. Learn about formatted IO, ranges, and parallel reductions in Chapel as well as some general problem-solving approaches.| Posts on Chapel Language Blog
A parallel solution to day three of AoC 2022, introducing ranges, bytes, forall-loops, and sets| Posts on Chapel Language Blog
A parallel solution to day two of AoC 2022, introducing enums, procedures, iterators, arrays, and promotion| Posts on Chapel Language Blog
A simple solution to day one of AoC 2022, introducing basic Chapel concepts| chapel-lang.org
Highlights from the December 2024 release of Chapel 2.3| chapel-lang.org
This post announces Chapel 2.0, including a brief tour of what the language is capable of.| chapel-lang.org
This post gives a beginner’s introduction to Chapel’s GPU programming features| chapel-lang.org