UPC++ 2023.3.0 Release Announcement

6 views
Skip to first unread message

Paul H. Hargrove

unread,
Mar 30, 2023, 5:34:18 PM3/30/23
to UPC++, upcxx-a...@lbl.gov

The Pagoda project at Lawrence Berkeley National Laboratory is proud to announce the release of UPC++ 2023.3.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 experimental support for a new ze_device memory kind for Intel GPUs using oneAPI Level Zero.  Compiler support has been added for AMD's AOCC and expanded for Nvidia's NVHPC.


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 2023.3.0 release will be installed on the listed systems some time next week. 


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



ChangeLog excerpts for this release:

Improvements to GPU memory kinds:

  • NEW: Experimental support for Intel GPUs using oneAPI Level Zero, see INSTALL.md for details.

    • configure --enable-ze flag activates new ze_device memory kind

    • This memory kind implementation is currently reference-only and is believed to be functionally correct, but has not been tuned for performance.

    • copy() operations on ze_device memory are currently staged through host memory and do not yet leverage network-direct RDMA.

    • ze_device includes new experimental member functions designed to streamline interoperability with other portions of the oneAPI software ecosystem.

  • New device_allocator::segment_{size,used}() queries for device segment status

  • New *_device::kind_info() query for GPU hardware configuration

  • New experimental support for hip_device using HIP-over-CUDA on Nvidia GPUs.

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

  • Enhancements to dist_object:

    • Allow dist_object<T> to be constructed non-collectively in an inactive state, including before UPC++ initialization, with or without a T value.

    • Add queries of whether a dist_object holds a value or is active.

    • Enable emplacement of a new T value into an existing dist_object<T>.

    • Enable an inactive dist_object to be activated.

    • dist_object<T> is now MoveAssignable when T is MoveConstructible and MoveAssignable.

  • New upcxx -info option suppresses compilation and outputs detailed information regarding the UPC++/GASNet-EX libraries and configuration in-use.

  • New upcxx-info convenience script is an alias for upcxx -info

  • local_team members are now officially guaranteed to have consecutive rank indexes in world().

  • Console output from upcxx::init() in verbose mode now compresses process identification information to one line per local_team.

  • entry_barrier arguments removed from experimental::relo::verify_{segment,all}

Infrastructure changes:

  • Support for additional compiler families on HPE Cray EX systems:

    • AMD compilers via PrgEnv-amd and PrgEnv-aocc

    • Nvidia compilers via PrgEnv-nvidia and PrgEnv-nvhpc

    • See INSTALL.md for details such as minimum versions.

  • AMD "AOCC" compilers 2.3+ are now supported on Linux/x86_64 hosts.

  • UPC++ library build now outputs a GASNet-EX configuration summary near the end.

  • Integration with Berkeley UPC is now deprecated and may be removed in a future release.


Download filenames and their md5 checksums:


    upcxx-2023.3.0.tar.gz        d7872610572def89cdd7ddb799316a41

    upcxx-spec-2023.3.0.pdf      7fb29eb065a0bd414318d82856970f24

    upcxx-guide-2023.3.0.pdf     59a61082d64b984c11f64f12877fd190


Reply all
Reply to author
Forward
0 new messages