UPC++ 2021.3.6 beta snapshot announcement

1 view
Skip to first unread message

Paul H. Hargrove

unread,
Jul 2, 2021, 3:07:34 PM7/2/21
to UPC++, upcxx-a...@lbl.gov

The Pagoda project at Lawrence Berkeley National Lab is proud to announce a new beta-quality "snapshot" of UPC++, version 2021.3.6, which has been installed at three DOE computing centers (NERSC, ALCF and OLCF). If you’re a new user of UPC++, we recommend our latest 2021.3.0 stable release, which is available at the same centers and for download from https://upcxx.lbl.gov 


A guide to use of UPC++ at these centers is available here.  Since this snapshot is not the default, you will need to load a specific version of the appropriate environment module: typically `upcxx/2021.3.6-snapshot` or `upcxx-cuda/2021.3.6-snapshot`.

ChangeLogs for this snapshot:  UPC++  GASNet-EX 

A matching draft revision of the UPC++ Specification can be found here and includes a preface (starting on page iv) explaining the most significant new features present in this snapshot.


Three of the eight features described in the draft specification's preface relate to new "as_eager" completions, which were originally proposed a year ago in this document.  We would like to request your assistance in evaluating as_eager completions.  In particular, they may represent a "breaking change" for some small group of applications, but can also provide significant performance improvements to others.  Details of what we'd like to ask of our users appear at the end of this message.


Please use the issue tracker to report any problems or feature requests.

Alternatively, if you have private feedback or questions not suited to a public venue, you can email us at pag...@lbl.gov

We welcome your feedback, especially with respect to the new features, at that address.

 

-Paul H. Hargrove, on behalf of the Pagoda Project at LBNL


We need your help in evaluating the new as_eager completion feature!


Here’s how you can help as a UPC++ user:

  1. Optionally review the proposal which provides rationale, and the preface and section 7.1 of the draft specification for a general introduction to the new completions. 

  2. Verify that your application continues to produce correct results with the new default behavior in which future- and promise-based completions may be signaled synchronously, rather than at the next call with user-level progress. Report success or failure!

  3. If the snapshot version produces incorrect results, please try compiling with `-g` and provide us with a backtrace of the failure, along with any other information you think relevant.  

  4. Test if the new default behavior yields any performance differences.  Of particular interest is the performance of single-node (multiple process) runs since that is where the new behavior should have the most impact.

  5. With respect to both correctness and performance, the relevant "baseline" is compilation using this same snapshot and `-DUPCXX_DEFER_COMPLETION` on your application compile command line.  This option restores the legacy behavior of completions, while making no other changes.  In particular, this snapshot also includes unrelated performance improvements relative to previous prior releases, making those unsuitable as a baseline for evaluating speedup due to as_eager completions.

Reply all
Reply to author
Forward
0 new messages