ucx
ucx copied to clipboard
UCT/IB/MLX5: Generate as an IB module with RPM
What
Introduce UCT IB MLX5 module for rdma-core mlx5 provider related transports.
Why ?
Some deployment would need to use other providers.
How ?
Decomposed in four parts:
- Move files
- Fix paths
- Generate separate
libuct_ib_mlx5
module, with md and tl registrations in the module - Generate RPM
Tested
Configure
- mlx5 module is disabled: dc, dv, devx and accelerated ud/rc are disabled:
--without-verbs
/--without-mlx5-dv
- mlx5 module is enabled: default or
--with-mlx5-dv
- configure error:
--with-mlx5-dv
and missinglibmlx5.so
Dependencies
- gtest builds and runs without/without mlx5 enabled
- libuct_ib does not depend on libmlx5 (but libverbs might depend on libmlx5 based on its config)
- libuct_ib_mlx5 depends on libmlx5
RPM
./contrib/buildrpm.sh -t
./contrib/buildrpm.sh --binrpm
rpm -qp --requires rpm-dist/x86_64/ucx-ib-mlx5-1.18.0-1.el7.x86_64.rpm | grep mlx5.so.1\(\)
libmlx5.so.1()(64bit)
rpm -qp --provides rpm-dist/x86_64/ucx-ib-mlx5-1.18.0-1.el7.x86_64.rpm
libuct_ib_mlx5.so.0()(64bit)
ucx-ib-mlx5 = 1.18.0-1.el7
ucx-ib-mlx5(x86-64) = 1.18.0-1.el7
rpm -qp --provides /labhome/tvegas/share/srcs/ucx/rpm-dist/x86_64/ucx-ib-1.18.0-1.el7.x86_64.rpm
libuct_ib.so.0()(64bit)
ucx-ib = 1.18.0-1.el7
ucx-ib(x86-64) = 1.18.0-1.el7
rpm -qp --requires /labhome/tvegas/share/srcs/ucx/rpm-dist/x86_64/ucx-ib-1.18.0-1.el7.x86_64.rpm | grep mlx5
<empty>