Cray Inc. and the Chapel open-source community are pleased to announce the release of version 1.9.0 of Chapel.
The highlights of this release include: improved operator precedence for bitwise operators, '..', and 'in'; the ability for users to overload assignment operators; intrinsic atomic variable support for Cray and Intel compilers; significant performance improvements and reductions in compiler-introduced memory leaks; several new versions of the Computer Language Benchmark Games in the examples/ directory; an improved default nested parallelism policy w.r.t. the dataParIgnoreRunningTasks flag; significant improvements to the LLVM back-end; improved symmetry of program startup and execution across the locales a program is running on; ; a new 'make check' rule to the top-level Makefile that can be used to validate a build; significant improvements to the testing system, particularly for performance testing; and numerous bug fixes. See $CHPL_HOME/CHANGES in the release for a more complete list.
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.