Search
Dale Rensing

Chapel scales new heights with 1.28.0

September 20, 2022

Exciting news for the Chapel community this month – Chapel 1.28.0 has just been released! Chapel, a productive parallel programming language that scales from laptops to supercomputers, now features improved GPU support, a new Communication module that supports low-level puts and gets, and improvements to the interface and other aspects of the code. This open source project is also being highlighted this month at the AnitaB.Org 2022 Grace Hopper Celebration where Michelle Strout and Lydia Duncan of the HPE High Performance Computing and AI group ran a Choose Your Own Adventure project during the Open Source Day, where developers could come to learn more about Chapel and how to contribute to the project.

As Chapel technical lead Brad Chamberlain pointed out in the announcement, many of the changes in Chapel 1.28.0 have been done to improve the language and libraries, thus stabilizing core features in preparation for its forthcoming 2.0 release. As an example, working with non-default numerical types, or combinations of numerical types, has been made simpler, more intuitive, and more consistent with other scientific languages. Implicit conversion and resolution rules have been updated to better preserve bit-widths and ensure operations combining disparate types generate natural, rather than surprising, results or any types of errors.

Adding to the GPU support that’s been added in the past few releases, Chapel 1.28.0 now permits a wider variety of parallel loop computations to be generated as GPU kernels. A new GPU utility module has also been added, providing the ability to assert that a computation will execute on the GPU as intended (or generate an explanation as to why it would not). The module also adds support for printing simple messages from within GPU loops.

A new Communication module has also been introduced in Chapel 1.28.0. This module supports put/get routines to perform explicit data transfers between locales (e.g. nodes in a cluster or on a supercomputer) for users who want to exert more control over low-level communication in their code. You’ll also find many other notable improvements to the ‘chpldoc’ and ‘mason’ tools, which respectively create documentation from commented Chapel code and provide packaging support for Chapel.

Here are some of the main highlights of the release:

  • Significantly improved behavior for numerical ops on small/mixed types
  • A new Communication module for performing low-level puts/gets
  • Expanded idioms that can run on GPUs and a new GPU utility module
  • Improvements to ‘chpldoc’ and ‘mason’
  • Simplified and improved selection between overloaded routines
  • Stabilized language and library improvements
  • Reduced average compilation times using the LLVM support library
  • Improved portability to ARM-based Macs

For complete details on this new release, please refer to the following resources:

Related

Brad Chamberlain

10 Myths About Scalable Parallel Programming Languages (Redux), Part 1: Productivity and Performance

Apr 30, 2025
Bill Reus

7 Questions for Bill Reus: Interactive Supercomputing with Chapel for Cybersecurity

Feb 13, 2025
David Bader

7 Questions for David Bader: Graph Analytics at Scale with Arkouda and Chapel

Nov 7, 2024
Nelson Luís Dias

7 Questions for Nelson Luís Dias: Atmospheric Turbulence in Chapel

Oct 15, 2024
Scott Bachman

7 Questions for Scott Bachman: Analyzing Coral Reefs with Chapel

Oct 1, 2024
Éric Laurendeau

7 Questions for Éric Laurendeau: Computing Aircraft Aerodynamics in Chapel

Sep 17, 2024
Brad Chamberlain

Announcing Chapel 1.29.0!

Jan 7, 2023
Brad Chamberlain

Announcing Chapel 1.30.0!

Mar 24, 2023

HPE Developer Newsletter

Stay in the loop.

Sign up for the HPE Developer Newsletter or visit the Newsletter Archive to see past content.

By clicking on “Subscribe Now”, I agree to HPE sending me personalized email communication about HPE and select HPE-Partner products, services, offers and events. I understand that my email address will be used in accordance with HPE Privacy Statement. You may unsubscribe from receiving HPE and HPE-Partner news and offers at any time by clicking on the Unsubscribe button at the bottom of the newsletter.

For more information on how HPE manages, uses, and protects your personal data please refer to HPE Privacy Statement.