Announcing Chapel 1.27.0!

Hi Chapel Community β€”

Today, we're happy to announce the release of Chapel 1.27.0! If your first reaction is "Gosh, it seems like there was a Chapel release just yesterday...", you may be exaggerating a bit, but are not imagining things. This represents the first in our new quarterly release schedule going forward, doubling the rate compared to our traditional semi-annual releases of the past. Our goal with this change is to get new features and bug fixes into users' hands more quickly, while also permitting us to rename, deprecate, and remove things faster as we continue working toward our upcoming Chapel 2.0 release.

Beyond the change in release schedule, other highlights of Chapel 1.27.0 include:

  • Substantial improvements to Chapel's emerging support for GPUs, including:

    • the ability to run parallel tasks across the CPUs and GPUs of multiple locales for the first time
    • a new 'GPUDiagnostics' module that can be used to track kernel launches
    • an expansion of the standard 'Memory.Diagnostics' module to track GPU-based allocations
    • a refinement of the GPU locale model to represent GPUs more naturally, and
    • support for richer and more general computations in GPU kernels
    • (to get started with GPUs in Chapel, refer to GPU Programming β€” Chapel Documentation 1.27)
  • The Chapel compiler now supports LLVM 14 in addition to ongoing support for versions 11–13

  • As part of our ongoing re-architecting of the compiler, the new 'dyno' parser and AST are now used for all compilations by default

  • Support for Omni-Path networks has been restored in this release, motivated in part by increased interest from HPC centers

  • We have added a new 'OS.POSIX' module as a centralized place for POSIX-related capabilities

  • scan operations on Block-distributed arrays have been optimized for performance and scalability

  • Namespaces have improved with respect to import and use statements, as well as shadowing behavior

Beyond these highlights, Chapel 1.27.0 contains many more feature improvements, bug fixes, and error message improvements. For a more complete list, refer to chapel/CHANGES.md at release/1.27 Β· chapel-lang/chapel Β· GitHub.

You can download and install Chapel 1.27.0 from: Chapel: Download

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

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

On behalf of the Chapel project,
-Brad Chamberlain

2 Likes