Sign inSign up

upcxx/linux-amd64-full

By upcxx

Updated 10 months ago

UPC++ installation with examples. gcc 13.3.0, Ubuntu 24.04. Also includes MPICH 4.2.0.

Image
Languages & frameworks
Developer tools
1

1.3K

upcxx/linux-amd64-full repository overview

UPC++ installation with examples

gcc 9.4.0, Ubuntu 20.04

This "full" version also includes:
  • MPICH 3.3.2 and MPI interoperability support in UPC++

A smaller "thin" container without these extras is here

For information on using UPC++, see: https://upcxx.lbl.gov

ChangeLog

This is the ChangeLog for recent public releases of UPC++. For details on older release see the complete ChangeLog

2025.10.31: Release 2025.10.0
  • NEW: Experimental APIs for immediate-mode RPC communication, to help avoid injection stalls in the presence of network congestion.

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

  • Updated upcxx-run supports launch of smp-conduit jobs via ssh, MPI and PMI on supported systems, matching the capabilites of (for instance) ibv and ofi.

Infrastructure changes:

  • Support for the Cray XC platform and its aries network, deprecated since 2023.9.0, have been removed.
  • Correction to install script enables use of LLVM/clang++ version 20 and higher
  • Newer embedded GASNet-EX resolves various issues seen when using:
    • GNU Compiler Collection (GCC) version 15.1.0, and newer
    • AMD ROCm version 6.0, and newer
    • HPE's Slingshot Host Software (SHS) version 12.0.1, and newer

Notable issues resolved (see the UPC++ issue tracker for details):

  • issue #621: Enforce EX-specific compiler floors
  • issue #627: smp-conduit cannot use new spawner support via upcxx-run
  • issue #630: HIP-enabled build breaks when HIP_HOME=/usr
  • issue #633: CUDA crashes from implicit ~device_allocator after finalize
  • issue #634: Warning regarding redefinition of __HIP_PLATFORM_AMD__
  • issue #635: upcxx_memberof_general failures with smp-conduit and non-fork spawners
  • issue #636: Unfriendly ZE kinds support when lacking the hardware
  • issue #637: use of literal "ar" in bld/Makefile
  • issue #638: Build failure with Intel oneAPI 2025+, LLVM 19+
  • issue #641: UPC++ configure rejects LLVM-20+ compilers
  • issue #642: CMake support triggers warnings with recent CMake

Embeds a GASNet-EX library that addresses the following notable issues (see the GASNet issue tracker for details):

  • bug3421: putv/getv should respect GASNET_VIS_MAXCHUNK
  • bug4733: Intermittent exitcode=9 from ssh-spawner
  • bug4734: incorrect hwloc-based NIC selection with cxi provider
  • bug4752: Incomplete work-around for bug 4376 (FI_EAGAIN when reposting multi-recv buffer)
  • bug4753: ofi: race condition in multi-receive message accounting
  • bug4765: ucx-conduit flaw in gex_AD_OpNBI for GEX_OP_SET and _GET
  • bug4768: memcpy with NULL destination in collectives
  • bug4787: GCC-15 errors and warnings regarding incompatible pointers-to-function
  • bug4797: Intermittent init-time crash inside gasneti_bootstrapBarrier_am()
  • bug4808: gex_EP_BindSegment failures with CUDA device memory and SHS 12.0.1

This library release conforms to the UPC++ v1.0 Specification, Revision 2023.9.0. All currently specified features are fully implemented. See the UPC++ issue tracker for status of known bugs.

2023.12.15: Release 2023.9.0

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

  • NEW: Experimental accelerated memory kinds support for Intel GPUs with HPE Slingshot-11
  • Reduce CPU overheads along the round-trip LPC return path in persona::lpc()
  • Reduce CPU overheads for some small copy() operations involving CUDA/HIP GPUs
  • New *_device::uuid() query for GPU hardware UUID
  • Add human-readable memory sizes to shared heap exception messages
  • New sycl_vecadd target in examples/gpu_vecadd performs vector addition on Level Zero devices

Infrastructure changes:

  • The value of UPCXX_CCS_MAX_SEGMENTS must fall between the number of segments loaded at init time (plus some unspecified padding) and 32767. Values outside this range are silently raised or lowered to meet this requirement.
  • Support for an additional compiler family on HPE Cray EX systems:
    • Intel oneAPI compilers via PrgEnv-intel
    • See INSTALL.md for details such as minimum versions.
  • Support for the Cray XC platform is now deprecated and will be removed in a future release.

Notable issues resolved (see the UPC++ issue tracker for details):

  • issue #594: CCS: Add --build-id to linker flags on Linux
  • issue #596: Failure of in-build-tree utils when configured without a default network
  • issue #600: upcxx::local_team_position() returns incorrect results for discontiguous layouts
  • issue #604: CCS: Uninitialized variable when reading -Wl,--build-id if algorithm is not sha1
  • issue #605: library build failure with GCC 13.1.0
  • issue #608: Add device UUID to Device::kind_info()
  • issue #609: Accept LPC function object callbacks that can only be invoked by rvalue
  • issue #613: Warnings from persona.hpp on progress_required() with GCC 13.1.0
  • issue #616: Linker warning on macos
  • issue #617: Spawner warnings (upcxx-run) with Python 3.12
  • issue #618: CCS segment limit exceeded on MacOS
  • spec issue 104: discharge() from the restricted context is an error
  • spec issue 206: Add future::is_ready() as a synonym for future::ready()

Embeds a GASNet-EX library that addresses the following notable issues (see the GASNet issue tracker for details):

  • ofi-conduit now defaults to setting envvars FI_MR_CACHE_MAX_COUNT and FI_MR_CACHE_MAX_SIZE for cxi provider, partially addressing bug 4676.
  • ibv-conduit now attempts to maximize RLIMIT_MEMLOCK by default.
  • bug4172: crash in ucx-conduit atexit handlers when mpi interop is enabled
  • bug4413: (partial fix) set FI_UNIVERSE_SIZE (conflicting provider requirements)
  • bug4594: UCX should not enable native atomics unconditionally
  • bug4598: ucx-conduit + ssh-spawner GASNET_FREEZE support is unusable
  • bug4655: ucx: bad exits on Summit
  • bug4663: failure compiling pmi-spawner with PMIx 4.2.0 and higher
  • bug4665: Cray PMI configure detection logic should be smarter
  • bug4669: Some GASNET_OFI_DEVICE_* and GASNET_IBV_PORTS_* settings ignored
  • bug4670: UCX environment personalized prefix not working as we document
  • bug4676: (partial fix) ofi-conduit RMA performance issues (cxi & verbs providers)
  • bug4677: Linker warnings from Xcode 15

This library release conforms to the UPC++ v1.0 Specification, Revision 2023.9.0. All currently specified features are fully implemented. See the UPC++ issue tracker for status of known bugs.

Breaking changes:

  • Invoking discharge() from inside the restricted context is now forbidden, where previously it could lead to deadlock.
  • discharge() and progress_required() now default to selecting all personas active with the calling thread. The optional argument can override this behavior.
  • Member function future::ready() has been renamed to future::is_ready(), for consistency with similar function names elsewhere in the library. The old function name is now deprecated and may be removed in a future release.

Tag summary

Content type

Image

Digest

sha256:e524eade4

Size

404 MB

Last updated

10 months ago

docker pull upcxx/linux-amd64-full