Announcing Chapel 1.26.0!

Hello Chapel Community —

In the "not an April Fools' Day joke" category, we are proud to announce the release of Chapel 1.26.0! This version of Chapel features new package modules:

  • Channel: for Go-style channels between Chapel tasks, developed by Google Summer of Code student Divye Nayyar (@Yudhishthira1406)
  • CopyAggregation: for aggregating fine-grained data transfers to reduce network overheads
  • Socket: for inter-process socket communication, developed by Google Summer of Code student Lakshya Singh (@king-11)

Other highlights of Chapel 1.26.0 include:

  • extending the Chapel compiler's LLVM support to include versions 12 and 13 while improving the portability and robustness of our LLVM integration.
  • expanding the generality of Chapel's nascent ability to generate code for GPUs
  • a new prototype ability to resize arrays whose elements have no default values via context managers
  • improved portability, robustness, and performance when using libfabric/ofi for communication
  • many, many improvements to language and library interfaces as we continue to work towards the Chapel 2.0 release

I also wanted to call out one of my favorite new features of all: a script that helps you understand which configurations of the Chapel runtime you have built, found at: $CHPL_HOME/util/chplenv/printchplbuilds.py.

Beyond these highlights, Chapel 1.26.0 contains many feature and performance enhancements, bug fixes, and improvements to error messages and documentation. See CHANGES.md for the complete list.

Download and install Chapel 1.26.0 at: Chapel: Download

As always, we’re interested in feedback on how we can make the Chapel language, implementation, libraries, and tools more useful to you and your work.

Thanks to everyone who contributed to Chapel 1.26.0! (listed at CONTRIBUTORS.md)

On behalf of the Chapel project,
-Brad Chamberlain