| Port details |
- ucx Unified Communication X framework (UCX)
- 1.20.0_1 net
=0 1.20.0Version of this port present on the latest quarterly branch. - Maintainer: rikka.goering@outlook.de
 - Port Added: 2026-02-24 01:22:09
- Last Update: 2026-04-08 22:42:19
- Commit Hash: db6d744
- License: BSD3CLAUSE
- WWW:
- https://openucx.org/
- Description:
- UCX (Unified Communication X) is a high-performance communication framework
for modern HPC and data-intensive workloads. It provides low-latency,
high-bandwidth messaging and remote-memory-access primitives across a wide
range of transports, including shared memory, TCP/IP, and RDMA-capable
interconnects such as InfiniBand and RoCE (when supported by the platform).
UCX is commonly used as a communication substrate for MPI, OpenSHMEM, and
other distributed runtimes. It exposes a set of layered APIs (UCP/UCT/UCS/UCM)
to balance portability and performance while enabling optimized transport
selection, rendezvous protocols, and progress models.
¦ ¦ ¦ ¦ 
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - USE_RC_SUBR (Service Scripts)
- no SUBR information found for this port
- Dependency lines:
-
- To install the port:
- cd /usr/ports/net/ucx/ && make install clean
- To add the package, run one of these commands:
- pkg install net/ucx
- pkg install ucx
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: ucx
- Flavors: there is no flavor information for this port.
- ONLY_FOR_ARCHS: aarch64 amd64 powerpc64le
- distinfo:
- TIMESTAMP = 1771060207
SHA256 (ucx-1.20.0.tar.gz) = 7c8a6093cada179aa1d851b83625e3b25ed5658966e309de5118c27a038c7ef9
SIZE (ucx-1.20.0.tar.gz) = 3500736
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- ax_c_float_words_bigendian.m4 : devel/autoconf-archive
- gmake>=4.4.1 : devel/gmake
- pkgconf>=1.3.0_1 : devel/pkgconf
- autoconf>=2.73 : devel/autoconf
- automake>=1.18.1 : devel/automake
- libtoolize : devel/libtool
- Library dependencies:
-
- libfuse3.so : filesystems/fusefs-libs3
- There are no ports dependent upon this port
Configuration Options:
- ===> The following configuration options are available for ucx-1.20.0_1:
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
FUSE=on: FUSE (Filesystem in Userspace) support
IBVERBS=off: Enable InfiniBand/RDMA (verbs) transport
IODEMO=on: Install io_demo test application
PERFTEST=on: Install ucx_perftest benchmarks
UMAD=off: Build/install perftest MAD plugin (umad)
===> Use 'make config' to modify these settings
- Options name:
- net_ucx
- USES:
- autoreconf gmake libtool pkgconfig
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
| Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
| Commit | Credits | Log message |
1.20.0_1 08 Apr 2026 22:42:19
    |
Vladimir Druzenko (vvd)  Author: Generic Rikka |
net/ucx: Fix mm signal socket binding on FreeBSD
Replace Linux-style UNIX domain socket autobind logic in the mm
signaling path with explicit pathname-based binding on FreeBSD and
remove the socket path during cleanup.
This fixes FreeBSD runtime failures in the mm shared-memory signaling
path.
PR: 293867
Sponsored by: UNIS Labs
MFH: 2026Q2
: Update =>
Changelog:
PR:
Sponsored by: UNIS Labs |
1.20.0 08 Apr 2026 22:42:19
    |
Vladimir Druzenko (vvd)  Author: Generic Rikka |
net/ucx: Fix FreeBSD UCM relocation handling
On FreeBSD, dynamic-section pointers observed through dl_iterate_phdr()
for shared objects need to be rebased by dlpi_addr before dereference.
Also fix the PT_LOAD end range calculation to include the object base
address when tracking the library address span.
This fixes runtime failures in UCM relocation patching on FreeBSD.
PR: 293867
Sponsored by: UNIS Labs
MFH: 2026Q2 |
1.20.0 08 Apr 2026 22:42:18
    |
Vladimir Druzenko (vvd)  Author: Generic Rikka |
net/ucx: Harden async thread state handling
Avoid dereferencing the global async thread context when startup or
teardown did not complete successfully by returning UCS_ERR_NO_ELEM for
operations that require an active thread and by only publishing thread_p
on successful start.
This prevents invalid access paths during async thread error handling.
PR: 293867
Sponsored by: UNIS Labs
MFH: 2026Q2 |
1.20.0 08 Apr 2026 22:42:18
    |
Vladimir Druzenko (vvd)  Author: Generic Rikka |
net/ucx: Fix FreeBSD runtime portability issues
Adjust several Linux-specific runtime assumptions in UCX for FreeBSD:
- use FreeBSD-specific network interface handling where Linux sysfs logic
is not available
- avoid Linux-only IPOIB and bridge detection paths
- improve pthread_create() error reporting
- provide FreeBSD fallbacks for memory remapping and affinity helpers
This fixes multiple runtime failures and device discovery issues on FreeBSD.
PR: 293867
Sponsored by: UNIS Labs
MFH: 2026Q2 |
1.20.0 24 Mar 2026 19:12:37
    |
Robert Clausecker (fuz)  Author: GenericRikka |
net/ucx: fix build on FreeBSD 13.5 by defining s6_addr32 shim
FreeBSD's struct in6_addr does not provide s6_addr32 directly. Add a small
shim in src/uct/ib/base/ib_device.c to map s6_addr32 to the FreeBSD layout
(__u6_addr.__u6_addr32) when s6_addr32 is not already available.
PR: 293429
Tested by: kib
MFH: 2026Q1 |
1.20.0 24 Feb 2026 00:44:48
    |
Robert Clausecker (fuz)  Author: GenericRikka |
net/ucx: Unified Communication X for high-performance messaging
UCX (Unified Communication X) is a high-performance communication framework
for modern HPC and data-intensive workloads. It provides low-latency,
high-bandwidth messaging and remote-memory-access primitives across a wide
range of transports, including shared memory, TCP/IP, and RDMA-capable
interconnects such as InfiniBand and RoCE (when supported by the platform).
UCX is commonly used as a communication substrate for MPI, OpenSHMEM, and
other distributed runtimes. It exposes a set of layered APIs (UCP/UCT/UCS/UCM)
to balance portability and performance while enabling optimized transport
selection, rendezvous protocols, and progress models.
PR: 292889 |