Search
Lydia Rose Duncan

Help us prioritize features for future releases of Chapel

November 15, 2023

In a recent blog post, the Chapel team gave a preview of Chapel 1.32, the release candidate for the official 2.0 version which will declare a core subset of the language and library features as "stable". These features are ones that we intend to support in their current form going forward, such that code relying on them will not break across releases.

With this candidate release available, we thought now would be a good time to get a sense for what remaining currently unstable features are important to our user base, so that we can better prioritize what to stabilize next. To do so, we've created a Chapel program (available here) that will summarize the unstable warnings in your key programs. This summary will not include any identifying details like module or variable names, so even if your source code is not intended for public eyes, you should be able to send us the result of running this script without worry.

This script is intended to be used with the most recent Chapel release (1.32), as that release has the most complete coverage of unstable features. If you use it with earlier releases, please let us know when providing your result file.

Here's how to use this script:

  1. Compile the program linked above like you would any normal Chapel program. This should create an executable named 'unstableAnonScript'. For example:
chpl unstableAnonScript.chpl
  1. Compile and run your program as you would normally, with the addition of the compilation flag --warn-unstable (which will cause any use of unstable features to trigger a warning), and save the full output into a file.
chpl --warn-unstable myProgram.chpl >myUnstableOutput.txt 2>&1  
./myProgram >>myUnstableOutput.txt 2>&1

After these commands, myUnstableOutput.txt (or whatever you've named it) should contain any unstable warnings you may trigger in your code, as well as any other potential output that occurs when compiling and running your program.

  1. Run the built script over your output file. For our convenience, it would be helpful to run with the --csv and --sorted flags, or -c and -d if you want to use the shorter version of those flags.
./unstableAnonScript --csv --sorted --inputFiles myUnstableOutput.txt --outputFile mySummary.csv

or

./unstableAnonScript -c -d -i myUnstableOutput.txt -o mySummary.csv

Note that --inputFiles/-i can take multiple files, so if you have multiple chapel programs you'd like to share the results for, you can combine the results together by specifying the unstable warnings from all of those programs at the same time:

./unstableAnonScript -c  -d -n -i myUnstableOutput1.txt myUnstableOutput2.txt myUnstableOutput3.txt -o mySummary.csv

After any of these commands, mySummary.csv (or whatever you've named it) should contain a comma-separated list of the unstable warnings generated by your program(s) and their counts, sorted from most common to least. There should be no identifying information in this file, so at this point, it should be safe to send the file to us.

You could also additionally run with the --numFiles flag (-n for short), which will include the number of different files where each unstable warning was generated:

./unstableAnonScript --csv --sorted --numFiles --inputFiles myUnstableOutput.txt --outputFile mySummary.csv

or

./unstableAnonScript -c -d -n -i myUnstableOutput.txt -o mySummary.csv

This information would be helpful for our metrics, but is not essential.

Please send your resulting file to chapel users mailing list on Discourse. If you would like to send it to just the Chapel team at HPE, you can either send it to the chapel+info@discoursemail.com or to Lydia Duncan at Discourse directly. Note that if you do not already have a Discourse account, you may be asked to create one to send it.

If you have any questions or concerns about this, please don't hesitate to voice them.

Thank you for your continued interest in Chapel, and for helping us prioritize on the features that matter most to you.

Tags

Related

Brad Chamberlain

Announcing Chapel 1.29.0!

Jan 7, 2023
Brad Chamberlain

Announcing Chapel 1.30.0!

Mar 24, 2023
Brad Chamberlain

Announcing Chapel 1.31!

Jun 22, 2023
Brad Chamberlain

Announcing Chapel 1.33!

Dec 14, 2023
Brad Chamberlain

Announcing Chapel 1.32!

Oct 5, 2023
Dale Rensing

Chapel scales new heights with 1.28.0

Sep 20, 2022
Dale Rensing

Chapel Technical Lead, Brad Chamberlain, Opens Up About Open Source

Feb 12, 2021
Michael Ferguson

Comparing Standard Library Sorts: The Impact of Parallelism

Jan 30, 2024

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.