Skip to content

Commit 6c2da43

Browse files
Enable UCX KNEM & XPMEM subpackages (#12189)
1 parent 2d0c365 commit 6c2da43

File tree

1 file changed

+56
-2
lines changed

1 file changed

+56
-2
lines changed

SPECS-EXTENDED/ucx/ucx.spec

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@
33
%bcond_with cuda
44
%bcond_with gdrcopy
55
%bcond_without ib
6+
%bcond_without knem
67
%bcond_without rdmacm
78
%bcond_with rocm
89
%bcond_with ugni
9-
%bcond_with xpmem
10+
%bcond_without xpmem
1011
%bcond_with vfs
1112
%bcond_with mad
1213
%bcond_without mlx5
1314

1415
Summary: UCX is a communication library implementing high-performance messaging
1516
Name: ucx
1617
Version: 1.18.0
17-
Release: 1%{?dist}
18+
Release: 2%{?dist}
1819
License: BSD
1920
Vendor: Microsoft Corporation
2021
Distribution: Azure Linux
@@ -49,6 +50,9 @@ BuildRequires: libibverbs-devel
4950
%if %{with mlx5}
5051
BuildRequires: rdma-core-devel
5152
%endif
53+
%if %{with knem}
54+
BuildRequires: knem
55+
%endif
5256
%if %{with rdmacm}
5357
BuildRequires: librdmacm-devel
5458
%endif
@@ -61,6 +65,9 @@ BuildRequires: pkgconfig(cray-xpmem)
6165
%if %{with vfs}
6266
BuildRequires: fuse3-devel
6367
%endif
68+
%if %{with ze}
69+
BuildRequires: level-zero-devel
70+
%endif
6471
%if "%{debug}" == "1"
6572
BuildRequires: valgrind-devel
6673
%endif
@@ -83,6 +90,7 @@ This package was built from '' branch, commit f086c1d.
8390
%package devel
8491
Requires: %{name}%{?_isa} = %{version}-%{release}
8592
Summary: Header files required for developing with UCX
93+
Group: Development/Libraries
8694

8795
%description devel
8896
Provides header files and examples for developing with UCX.
@@ -111,12 +119,14 @@ Provides header files and examples for developing with UCX.
111119
%_with_arg gdrcopy gdrcopy \
112120
%_with_arg ib verbs \
113121
%_with_arg mlx5 mlx5 \
122+
%_with_arg knem knem \
114123
%_with_arg rdmacm rdmacm \
115124
%_with_arg rocm rocm \
116125
%_with_arg xpmem xpmem \
117126
%_with_arg vfs fuse3 \
118127
%_with_arg ugni ugni \
119128
%_with_arg mad mad \
129+
%_with_arg ze ze \
120130
%{?configure_options}
121131
make %{?_smp_mflags} V=1
122132

@@ -172,6 +182,9 @@ Provides static libraries required for developing with UCX.
172182
%if %{with cma}
173183
%{_libdir}/pkgconfig/ucx-cma.pc
174184
%endif
185+
%if %{with knem}
186+
%{_libdir}/pkgconfig/ucx-knem.pc
187+
%endif
175188
%if %{with xpmem}
176189
%{_libdir}/pkgconfig/ucx-xpmem.pc
177190
%endif
@@ -192,6 +205,7 @@ Provides static libraries required for developing with UCX.
192205
%package cma
193206
Requires: %{name}%{?_isa} = %{version}-%{release}
194207
Summary: UCX CMA support
208+
Group: System Environment/Libraries
195209

196210
%description cma
197211
Provides CMA (Linux cross-memory-attach) transport for UCX. It utilizes the
@@ -206,6 +220,7 @@ process.
206220
%package cuda
207221
Requires: %{name}%{?_isa} = %{version}-%{release}
208222
Summary: UCX CUDA support
223+
Group: System Environment/Libraries
209224

210225
%description cuda
211226
Provide CUDA (NVIDIA GPU) support for UCX. Enables passing GPU memory pointers
@@ -222,6 +237,7 @@ technology for direct data transfer between GPU and RDMA devices.
222237
%package gdrcopy
223238
Requires: %{name}-cuda%{?_isa} = %{version}-%{release}
224239
Summary: UCX GDRCopy support
240+
Group: System Environment/Libraries
225241

226242
%description gdrcopy
227243
Provide GDRCopy support for UCX. GDRCopy is a low-latency GPU memory copy
@@ -235,6 +251,7 @@ library, built on top of the NVIDIA GPUDirect RDMA technology.
235251
%package ib
236252
Requires: %{name}%{?_isa} = %{version}-%{release}
237253
Summary: UCX RDMA support
254+
Group: System Environment/Libraries
238255

239256
%description ib
240257
Provides support for IBTA-compliant transports for UCX. This includes RoCE,
@@ -274,10 +291,26 @@ Infiniband datagrams for out-of-band communications.
274291
%{_libdir}/ucx/libucx_perftest_mad.so.*
275292
%endif
276293

294+
%if %{with knem}
295+
%package knem
296+
Requires: %{name} = %{version}-%{release}
297+
Summary: UCX KNEM transport support
298+
Group: System Environment/Libraries
299+
300+
%description knem
301+
Provides KNEM (fast inter-process copy) transport for UCX. KNEM is a Linux
302+
Kernel module that enables high-performance intra-node MPI communication
303+
for large messages.
304+
305+
%files knem
306+
%{_libdir}/ucx/libuct_knem.so.*
307+
%endif
308+
277309
%if %{with rdmacm}
278310
%package rdmacm
279311
Requires: %{name}-ib%{?_isa} = %{version}-%{release}
280312
Summary: UCX RDMA connection manager support
313+
Group: System Environment/Libraries
281314

282315
%description rdmacm
283316
Provides RDMA connection-manager support to UCX, which enables client/server
@@ -291,6 +324,7 @@ based connection establishment for RDMA-capable transports.
291324
%package rocm
292325
Requires: %{name}%{?_isa} = %{version}-%{release}
293326
Summary: UCX ROCm GPU support
327+
Group: System Environment/Libraries
294328

295329
%description rocm
296330
Provides Radeon Open Compute (ROCm) Runtime support for UCX.
@@ -303,6 +337,7 @@ Provides Radeon Open Compute (ROCm) Runtime support for UCX.
303337
%package rocmgdr
304338
Requires: %{name}-rocm%{?_isa} = %{version}-%{release}
305339
Summary: UCX GDRCopy support for ROCM
340+
Group: System Environment/Libraries
306341

307342
%description rocmgdr
308343
Provide GDRCopy support for UCX ROCM. GDRCopy is a low-latency GPU memory copy
@@ -317,6 +352,7 @@ library, built on top of the NVIDIA GPUDirect RDMA technology.
317352
%package ugni
318353
Requires: %{name}%{?_isa} = %{version}-%{release}
319354
Summary: UCX Gemini/Aries transport support.
355+
Group: System Environment/Libraries
320356

321357
%description ugni
322358
Provides Gemini/Aries transport for UCX.
@@ -353,7 +389,25 @@ library internals, protocol objects, transports status, and more.
353389
%{_bindir}/ucx_vfs
354390
%endif
355391

392+
%if %{with ze}
393+
%package ze
394+
Requires: %{name}%{?_isa} = %{version}-%{release}
395+
Summary: UCX Virtual Filesystem support.
396+
Group: System Environment/Libraries
397+
398+
%description ze
399+
Provides oneAPI Level Zero (ZE) Runtime support for UCX.
400+
401+
%files ze
402+
%{_libdir}/ucx/libuct_ze.so.*
403+
%{_bindir}/ucx/libucm_ze.so.*
404+
%endif
405+
406+
356407
%changelog
408+
* Fri Jan 31 2025 Alberto David Perez Guevara <[email protected]> - 1.18.0-2
409+
- Enable knem and xpmem flags
410+
357411
* Wed Jan 08 2025 Elaheh Dehghani <[email protected]> - 1.18.0-1
358412
- Bump version to 1.18.0
359413

0 commit comments

Comments
 (0)