🌐 US-Proxy
class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
Skip to content

Releases: openucx/ucx

v1.22.0

Choose a tag to compare

@shasson5 shasson5 released this 03 Aug 13:26
8a6b06f

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.

v1.22.0-rc3

v1.22.0-rc3 Pre-release
Pre-release

Choose a tag to compare

@shasson5 shasson5 released this 26 Jul 12:26
f04c0b6

1.22.0-rc3 (July 26, 2026)

Bugfixes:

UCP

  • Fixed rendezvous multi-lane protocol selection to preserve combined minimum sizes
  • Fixed unnecessary rendezvous PUT fences on ordered transports

v1.22.0-rc2

v1.22.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@shasson5 shasson5 released this 16 Jul 20:19
96e58a1

1.22.0-rc2 (July 16, 2026)

Features:

UCP

  • Added transport and wireup debugging table dumps during context and endpoint creation
  • Set four rails by default for Vera platforms

CUDA

  • Added POSIX file descriptor handle support for same-machine CUDA VMM IPC
  • Added support for CUDA device aliasing with MPS MLOPart

RDMA CORE (IB, ROCE, etc.)

  • Enabled relaxed ordering by default for Vera CPU platforms

UCM

  • Propagated memory attributes in allocation events

Build

  • Added configure option to append a SONAME suffix

Bugfixes:

UCP

  • 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

CUDA

  • Fixed CUDA copy memory-flag detection with active CUDA contexts

RDMA CORE (IB, ROCE, etc.)

  • 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

v1.22.0-rc1

v1.22.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@shasson5 shasson5 released this 01 Jul 14:33
9851e5e

1.22.0-rc1 (June 29, 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

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

CUDA

  • Added GDRCopy PCIe BAR1 export option

UCS

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

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

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

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

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

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

v1.21.0

Choose a tag to compare

@roiedanino roiedanino released this 25 Jun 08:04
b6a9d47

1.21.0 (June 24, 2026)

Features:

UCP

  • Added UCX_PROTO_EMULATION_ENABLE option to force zero-copy RMA protocol selection
  • Added UCX_MAX_HCA_PER_GPU policy to limit GPU memory registrations to nearest HCAs
  • Added device lanes that can access host memory for GPU transfer fallback
  • Enabled gdr_copy for memtype endpoint transport

UCT

  • Added device channel pool support
  • Added CPU memory usage as AMO local buffer for device operations

RDMA CORE (IB, ROCE, etc.)

  • Added UCX_IB_GDA_RETAIN_INACTIVE_CTX option to control inactive CUDA context retention in GDAKI
  • Added configure option to enable or disable GGA transport

Build

  • Added --without-gda configure option
  • Made cuRAND an optional dependency for perftest CUDA kernels

CI/Testing

  • Added dry-run package installation checks to the release package build

Bugfixes:

Build

  • Fixed support for -Og by disabling always-inline attributes

UCP

  • Fixed progress counter to return the actual operation status
  • Fixed multi protocol minimum size handling for 1-byte operations
  • Fixed endpoint finalization when no P2P or connection-manager lane is available

UCT

  • Fixed notify callback handling by adding a NULL check

CUDA

  • Fixed CUDA IPC accessibility cache separation for local and remote rkeys
  • Fixed CUDA IPC cache/LRU invariant for referenced regions
  • Fixed DMA-BUF offsets for interior CUDA addresses

ROCM

  • Fixed hangs in HIP MPI and OMB tests
  • Fixed endpoint flush for in-flight ROCm operations

RDMA CORE (IB, ROCE, etc.)

  • Fixed GDA DMA-BUF offset handling
  • Fixed GDA WQE ordering by using CAS-based readiness marking
  • Fixed GDAKI CUDA context handling during endpoint creation
  • Fixed GDAKI NIC/GPU mapping when CUDA_VISIBLE_DEVICES hides physical GPUs

TCP

  • Fixed interface selection by skipping IPv4 link-local addresses

UCS

  • Reverted dynamically loaded external module/plugin support

Packaging

  • Fixed Debian maintainer field
  • Fixed GDA RPM build
  • Fixed GDA RPM/devel package layout for CUDA/GDA subpackages
  • Fixed RPM/DEB handling when GDA is disabled

v1.21.0-rc2

v1.21.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@roiedanino roiedanino released this 08 Jun 12:18
940c1c1

v1.21.0-rc2 (June 8, 2026)

Features:

RDMA CORE (IB, ROCE, etc.)

  • Added configure option to enable or disable GGA transport

Bugfixes:

RDMA CORE (IB, ROCE, etc.)

  • Fixed GDAKI CUDA context handling during endpoint creation
  • Fixed GDAKI NIC/GPU mapping when CUDA_VISIBLE_DEVICES hides physical GPUs

TCP

  • Fixed interface selection by skipping IPv4 link-local addresses

v1.21.0-rc1

v1.21.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@roiedanino roiedanino released this 24 May 07:32
c982cef

1.21.0-rc1 (May 24, 2026)

Features:

UCP

  • Added UCX_PROTO_EMULATION_ENABLE option to force zero-copy RMA protocol selection
  • Added UCX_MAX_HCA_PER_GPU policy to limit GPU memory registrations to nearest HCAs
  • Added device lanes that can access host memory for GPU transfer fallback
  • Enabled gdr_copy for memtype endpoint transport

UCT

  • Added device channel pool support
  • Added CPU memory usage as AMO local buffer for device operations

RDMA CORE (IB, ROCE, etc.)

  • Added UCX_IB_GDA_RETAIN_INACTIVE_CTX option to control inactive CUDA context retention in GDAKI

Build

  • Added --without-gda configure option
  • Made cuRAND an optional dependency for perftest CUDA kernels

CI/Testing

  • Added dry-run package installation checks to the release package build

Bugfixes:

Build

  • Fixed support for -Og by disabling always-inline attributes

UCP

  • Fixed progress counter to return the actual operation status
  • Fixed multi-protocol minimum size handling for 1-byte operations
  • Fixed endpoint finalization when no P2P or connection-manager lane is available

UCT

  • Fixed notify callback handling by adding a NULL check

CUDA

  • Fixed CUDA IPC accessibility cache separation for local and remote rkeys
  • Fixed CUDA IPC cache/LRU invariant for referenced regions
  • Fixed DMA-BUF offsets for interior CUDA addresses

ROCM

  • Fixed hangs in HIP MPI and OMB tests

RDMA CORE (IB, ROCE, etc.)

  • Fixed GDA DMA-BUF offset handling
  • Fixed GDA WQE ordering by using CAS-based readiness marking

UCS

  • Reverted dynamically loaded external module/plugin support

Packaging

  • Fixed Debian maintainer field
  • Fixed GDA RPM build
  • Fixed GDA RPM/devel package layout for CUDA/GDA subpackages
  • Fixed RPM/DEB handling when GDA is disabled

v1.20.1

Choose a tag to compare

@roiedanino roiedanino released this 07 May 07:29
d8e50df

1.20.1 (May 6, 2026)

Features:

RDMA CORE (IB, ROCE, etc.)

  • Added 'auto' option for UCX_IB_MLX5_DEVX_OBJECTS which disables DevX when ODP is available (for Grace)
  • Prioritize routes with longer subnet masks for improved reachability check accuracy

Documentation

  • Clarified that user buffer can be modified after calling ucp_atomic_op_nbx

Bugfixes:

Build

  • Fixed IB configuration const correctness for strchr() to allow compilation with GCC 15.2.1

UCP

  • Increased TLS info buffer size in transport selection to prevent potential truncation
  • Fixed incorrect warning about valid environment variable names
  • Fixed ucp_config_modify not reporting an error when no matching modifiable configuration exists.

RDMA CORE (IB, ROCE, etc.)

  • Fixed DevX objects flag handling
  • Fixed device memory allocation alignment in MLX5 DevX
  • Fixed IB memory handle flags enum order
  • Disabled indirect atomic registration for Direct NIC
  • Fixed stale destination endpoint ID and acks from before connection reset in UD transport
  • Fix RoCE reachable route check when node_guuid is not unique among HCAs

CUDA

  • Fixed CUDA context handling for system device during rkey unpack

ROCM

  • Fixed HSA memory type check for newer ROCm releases

UCS

  • Fixed rcache locking for GDR copy

Packaging

  • Fix libnvidia-compute removal from ucx-cuda debian package dependencies, breaking existing installation
  • Obsoleted KNEM sub-package
  • Fix maintainer field in debian packaging

v1.20.1-rc2

v1.20.1-rc2 Pre-release
Pre-release

Choose a tag to compare

@roiedanino roiedanino released this 06 Apr 15:04
bfb5173

1.20.1-rc2 (April 6, 2026)

Bugfixes:

Build

  • Fixed IB configuration const correctness for strchr() to allow compilation with GCC 15.2.1

v1.20.1-rc1

v1.20.1-rc1 Pre-release
Pre-release

Choose a tag to compare

@roiedanino roiedanino released this 22 Mar 12:07
66ba481

1.20.1-rc1 (March 18, 2026)

Features:

RDMA CORE (IB, ROCE, etc.)

  • Added 'auto' option for UCX_IB_MLX5_DEVX_OBJECTS which disables DevX when ODP is available (for Grace)
  • Prioritize routes with longer subnet masks for improved reachability check accuracy

Documentation

  • Clarified that user buffer can be modified after calling ucp_atomic_op_nbx

Bugfixes:

UCP

  • Increased TLS info buffer size in transport selection to prevent potential truncation
  • Fixed incorrect warning about valid environment variable names
  • Fixed ucp_config_modify not reporting an error when no matching modifiable configuration exists.

RDMA CORE (IB, ROCE, etc.)

  • Fixed DevX objects flag handling
  • Fixed device memory allocation alignment in MLX5 DevX
  • Fixed IB memory handle flags enum order
  • Disabled indirect atomic registration for Direct NIC
  • Fixed stale destination endpoint ID and acks from before connection reset in UD transport
  • Fix RoCE reachable route check when node_guuid is not unique among HCAs

CUDA

  • Fixed CUDA context handling for system device during rkey unpack

ROCM

  • Fixed HSA memory type check for newer ROCm releases

UCS

  • Fixed rcache locking for GDR copy

Packaging

  • Fix libnvidia-compute removal from ucx-cuda debian package dependencies, breaking existing installation
  • Obsoleted KNEM sub-package