ucx icon indicating copy to clipboard operation
ucx copied to clipboard

UCT/IB/MLX5: Generate as an IB module with RPM

Open tvegas1 opened this issue 8 months ago • 4 comments

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:

  1. Move files
  2. Fix paths
  3. Generate separate libuct_ib_mlx5 module, with md and tl registrations in the module
  4. Generate RPM

Tested

Configure

  1. mlx5 module is disabled: dc, dv, devx and accelerated ud/rc are disabled: --without-verbs/--without-mlx5-dv
  2. mlx5 module is enabled: default or --with-mlx5-dv
  3. configure error: --with-mlx5-dv and missing libmlx5.so

Dependencies

  1. gtest builds and runs without/without mlx5 enabled
  2. libuct_ib does not depend on libmlx5 (but libverbs might depend on libmlx5 based on its config)
  3. 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>

tvegas1 avatar Jun 06 '24 15:06 tvegas1