Cray Inc. and the Chapel open-source community are pleased to announce the release of version 1.13.1 of the Chapel Compiler.
Chapel 1.13.1 is a minor release containing bug fixes to 1.13.0, the most significant of which was a race condition that was introduced in reductions between 1.12.0 and 1.13.0 but not caught until after 1.13.0 was released.
The highlights of version 1.13.0 include:
Dramatic improvements to string performance, memory leaks, and standard library routines.
Language feature improvements, including: an expanded 'use' statement supporting filtering, renaming, and enumerated types; support for min/max reduce intents, and for reduce intents to be applied to coforall loops; and the ability to create subclasses of generic classes.
Standard library improvements including a new 'Reflection' module for reasoning about Chapel code; a new Jama-based library for linear algebra; a revamped 'Random' module including support for PCG-based RNG and an expanded interface; and some new capabilities for the 'HDFS', 'FileSystem', and 'Path' libraries.
Performance improvements due to now using 'jemalloc' as Chapel's default memory allocator; optimization of common cases of reductions; amortized array resizing for vector operations on arrays; and a broadening of the applicability of the bulk communication optimization.
The online documentation was significantly improved and reorganized for this release, including the addition of web-based man pages for 'chpl' and 'chpldoc'. See http://chapel.cray.com/docs/1.13/ for details.
For more information on the above, or for a more complete list of changes, please refer to $CHPL_HOME/CHANGES.md.
This release of Chapel contains stable support for the base language, and for task and regular data parallelism using one or more locales. Data parallel operations on irregular domains and arrays are currently supported in a single-locale implementation. While performance has received a great deal of attention in Chapel's design and is generally improving from release-to-release, this release is lacking a number of crucial performance optimizations. See $CHPL_HOME/PERFORMANCE for additional notes on Chapel performance.