github openucx/ucx v1.22.0

5 hours ago

1.22.0 (August 2, 2026)

Features:

UCP

  • Added SGL datatype support for non-blocking PUT operations
  • Added GET and PUT rendezvous protocols for RMA operations
  • Added fault-tolerance recovery foundation
  • Added AM, zcopy, multi, and PSN protocol failover support
  • Added endpoint flush failover and first-fragment retransmission support
  • Added multi-lane support for device operations
  • Added memory registration flags to UCP/UCT/UCS APIs
  • Enabled v2 operations on proxy and wireup endpoints
  • Added transport and wireup debugging table dumps during context and endpoint creation
  • Set four rails by default for Vera platforms

UCT

  • Added UCT v2 capability flags for SGL zcopy operations
  • Enhanced endpoint connectivity checks

RDMA CORE (IB, ROCE, etc.)

  • Added plugin infrastructure for IB token query and plugin-provided RC extended operations
  • Added per-endpoint RC transmit queue reservation for resource checks
  • Added IB/MLX5 initiator small-fence WQE control flag
  • Applied ECE returned by ibv_query_ece by default
  • Enabled relaxed ordering by default for Vera CPU platforms

CUDA

  • Added GDRCopy PCIe BAR1 export option
  • Added POSIX file descriptor handle support for same-machine CUDA VMM IPC
  • Added support for CUDA device aliasing with MPS MLOPart

UCS

  • Added table builder debug API
  • Added ucs_string_buffer_vappendf utility
  • Added numeric range support for device configuration
  • Added Vera CPU support

UCM

  • Propagated memory attributes in allocation events

Tools

  • Added software GET responder progress support in perftest

Build

  • Added PR build modes
  • Added Ubuntu 26.04, TencentOS 4.4, and GCC 15.2 build coverage
  • Added GB300/aarch64 DL cluster test pipeline coverage
  • Added parallel static checks
  • Enabled on-demand DRP testing for release pipelines
  • Added configure option to append a SONAME suffix

Bugfixes:

UCP

  • Fixed endpoint fault-tolerance discard and failover flows
  • Fixed fallback handling when no more lanes are available
  • Fixed AM reply endpoint lookup during initialization
  • Fixed memory release crash in active-message path
  • Fixed rcache validity check before memory handle invalidation
  • Fixed context creation when only accelerator devices are available
  • Fixed error reporting when the transport/device resource limit is exceeded
  • Fixed RMA rendezvous rkey size assertion
  • Fixed bandwidth formatting macros
  • Fixed single network-device filtering to use minimum distance
  • Fixed protocol assertions and short selection diagnostics
  • Fixed zero-length memory handle packing in trace logging
  • Fixed rendezvous remote-memory flag estimation from rkey memory-domain maps
  • Disabled RMA rendezvous protocols on non-Vera platforms
  • Fixed active-message lane selection to preserve latency priority
  • Fixed rendezvous multi-lane protocol selection to preserve combined minimum sizes
  • Fixed unnecessary rendezvous PUT fences on ordered transports

ZE

  • Fixed ZE driver enumeration, PCI fallback, IOV bounds, and DMA-BUF memory query semantics
  • Fixed ZE memory query system-device detection

CUDA

  • Fixed CUDA managed-memory Valgrind failures
  • Fixed CUDA IPC remote-cache destruction during endpoint destroy
  • Fixed CUDA cleanup for destroyed contexts
  • Fixed CUDA IPC single-process unmap checks
  • Fixed CUDA NVLink detection
  • Fixed CUDA IPC remote-cache handling for GET and PUT paths
  • Fixed CUDA IPC reachability for same-process interfaces
  • Fixed CUDA copy memory-flag detection with active CUDA contexts

RDMA CORE (IB, ROCE, etc.)

  • Fixed GGA GET zcopy purge completion
  • Fixed GDA DMA-BUF offsets and on-demand DMA-BUF checks
  • Fixed GDAKI Direct NIC matrix selection
  • Fixed IB DEVX handling for UARs without WC support
  • Fixed RoCE reachability for RTN_LOCAL routes
  • Reverted ARM Neon BlueFlame writes in IB transport
  • Fixed MLX5 DDP PUT fencing
  • Fixed IB port-speed query logging for unsupported devices
  • Fixed Direct NIC sibling matching when HCAs have no active ports
  • Fixed DONT_FORK handling for kernels that support RDMA copy-on-fork
  • Fixed GGA MMO fence ordering
  • Restricted EMR relaxed ordering to device memory

Shared Memory

  • Fixed POSIX reachability failure logging in containers

TCP

  • Fixed TCP negative connect-test timeout

Packaging

  • Fixed GDA RPM/DEB packaging and RPM development package builds

UCS

  • Fixed stale async file descriptor event filtering
  • Fixed IPv6 scope formatting
  • Fixed time initialization to be multi-thread safe
  • Fixed namespace identifier sizing for portability
  • Fixed portability issues for non-glibc and clang environments

Tools

  • Fixed perftest ZE allocator thread safety and device routing
  • Fixed I/O demo data-size range parsing

Build

  • Fixed GPUNetIO update failure reporting
  • Fixed CMake policy version for examples tests
  • Replaced ofed_info usage with native package-manager queries
  • Fixed CI build result reporting on exceptions
  • Excluded .ci/ changes from PR pipeline triggers

Known issues:

  • JUCX package for this release was renamed to
    1.22.0-1, please avoid using 1.22.0.

Don't miss a new ucx release

NewReleases is sending notifications on new releases.