iWARP動作検証 つづき⑤

iWARP (Internet Wide-Area RDMA Protocol) は、TCP/IPネットワーク経由でRDMAを実装するネットワークプロトコルです。

前回の記事

Rocky Linux 8.8でテストしてみました。E810チップのNICです。
E810-XXVDA2

OSは普通にインストールします。
次にNICドライバ ice-1.11.114 をインストールです。

# cd ice-1.11.14/src
# make
make[1]: Entering directory '/usr/src/kernels/4.18.0-477.13.1.el8_8.x86_64'
  CC [M]  /tmp/ice-1.11.14/src/ice_main.o
In file included from /tmp/ice-1.11.14/src/kcompat.h:3351,
                 from /tmp/ice-1.11.14/src/ice.h:7,
                 from /tmp/ice-1.11.14/src/ice_main.c:8:
/tmp/ice-1.11.14/src/kcompat_impl.h: In function '_kc_netif_napi_add':
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:57: error: macro "netif_napi_add" passed 4 arguments, but takes just 3
  return netif_napi_add(dev, napi, poll, NAPI_POLL_WEIGHT);
                                                         ^
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:9: error: 'netif_napi_add' undeclared (first use in this function); did you mean 'netif_napi_del'?
  return netif_napi_add(dev, napi, poll, NAPI_POLL_WEIGHT);
         ^~~~~~~~~~~~~~
         netif_napi_del
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:9: note: each undeclared identifier is reported only once for each function it appears in
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:9: warning: 'return' with a value, in function returning void
/tmp/ice-1.11.14/src/kcompat_impl.h:1384:1: note: declared here
 _kc_netif_napi_add(struct net_device *dev, struct napi_struct *napi,
 ^~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:318: /tmp/ice-1.11.14/src/ice_main.o] Error 1
make[1]: *** [Makefile:1616: _module_/tmp/ice-1.11.14/src] Error 2
make[1]: Leaving directory '/usr/src/kernels/4.18.0-477.13.1.el8_8.x86_64'
make: *** [Makefile:149: all] Error 2

何か気に入らないみたいだ。

まず先に インボックスドライバ でできることだけ確認してみよう。
必用なパッケージをインストールする。

# dnf install rdma-core rdma-core-devel libibverbs-utils

さっそく何かが認識した。

# ibv_devinfo 
hca_id:	irdma0
	transport:			InfiniBand (0)

hca_id:	irdma1
	transport:			InfiniBand (0)

どうもインボックスドライバでは、デフォルトでRoCE認識するみたいだ。

この環境で Open MPI 4.1.5 をビルドして簡単なMPIなベンチマーク動かしてみましたが、とりあえずRDMAで動作しました。

つづく