UPC++ 2022.9.0 Release Announcement

7 views
Skip to first unread message

Paul H. Hargrove

unread,
Oct 4, 2022, 11:28:46 PM10/4/22
to UPC++, upcxx-a...@lbl.gov

The Pagoda project at Lawrence Berkeley National Laboratory is proud to announce the release of UPC++ 2022.9.0, now available from upcxx.lbl.govThis release introduces numerous enhancements and usability improvements, as detailed in the ChangeLog and copied below.  Notably, this release adds support for native Memory Kinds (accelerated RMA to/from GPU memory) on the HPE Cray EX platform, including both Slingshot-10 and Slingshot-11 networks, and GPUs from both Nvidia and AMD.


Please use the issue tracker to report any problems or make feature requests.  Alternatively, if you have private feedback or questions not suited to a public venue, you can email: pag...@lbl.gov. We welcome all feedback.


We would like users of NERSC, ALCF and OLCF systems to be aware that we maintain public installs of UPC++ at all three centers, with usage instructions here. The 2022.9.0 release will be installed on the listed systems next week. 


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



ChangeLog excerpts for this release:

General features/enhancements: (see specification and programmer's guide for full details)

  • NEW: Memory kinds support for HPE Cray EX systems with AMD and NVIDIA GPUs now leverages GPUDirect RDMA (GDR) and ROCmRDMA acceleration technology on supported networks. See INSTALL.md for full details.

  • upcxx-run verbosity levels have been adjusted, moving some of the spammier/non-scalable output to verbosity level three (i.e., upcxx-run -vvv).

  • Fixed several compatibility issues with the ROCm/HIP SDK

  • Several robustness and performance improvements to CCS RPC support

Serialization changes:

  • Added new upcxx::optional template that provides the same interface as C++17 std::optional, and new overloads of [Reader]::read_into() and deserializing_iterator<T>::deserialize_into() that deserialize into a upcxx::optional.

  • The signature for the user-defined deserialize() member-function template used for custom class serialization has changed. This interface has been generalized to support emplacement into managed storage, as well as construction in raw memory. The old signature is now deprecated and may be removed in a future release.

  • Serialization has been implemented for std::reference_wrapper<T>, which now works analogously to serialization for other reference types.

  • Added new [Reader]::read_overwrite(), [Reader]::read_sequence_overwrite(), and deserializing_iterator<T>::deserialize_overwrite() functions that work analogously to their *_into() counterparts, but additionally destruct target objects before deserializing into them.

  • See the specification for further details.

Infrastructure changes:

  • Improved configure defaults have reduced the complexity of building on an HPE Cray EX system. See INSTALL.md for details.

  • Added initial/experimental support for the RISC-V architecture. If you have an interest in this platform, please contact us!

  • The set of tests run by make check has been adjusted to improve coverage and balance.


Download filenames and their md5 checksums:


    upcxx-2022.9.0.tar.gz        961ffc5c41bc5a4e28abd4b586b11eff

    upcxx-spec-2022.9.0.pdf      dd093d80784a25bf98cf678cdf0e25b8

    upcxx-guide-2022.9.0.pdf     9534e2334358749d0010ecaef89a1581


Reply all
Reply to author
Forward
0 new messages