运行MPI作业,指定传输协议为RC或者UD时创建qp报错:Invalid argument

现象描述

运行MPI作业,指定传输协议为RC或者UD时创建qp报错:

1
2
UCX ERROR Failed to create RC QP TX wr:256 sge:5 in1:64 resp:64 RX wr:0 sge:1 resp:64: Invalid argument failed: Invalid argument
UCX ERROR Failed to create UD QP TX wr:256 sge:6 inl:64 resp:0 RX wr:4096 sge:1 resp:0: Invalid argument failed: Invalid argument

可能原因

当前BIOS配置不支持较多的sge,因为UCX中RC协议默认使用的sge值为5,UD协议默认使用的sge值为6。通过执行ibv_devinfo -v命令可以查看当前网口配置支持的最大值max_sge。

1
max_sge:    2

恢复步骤

在执行命令中增加参数-x UCX_RC_VERBS_TX_MIN_SGE=2 -x UCX_UD_VERBS_TX_MIN_SGE=1

其中,UCX_RC_VERBS_TX_MIN_SGE配置为ibv_devinfo -v命令查询出的max_sge值;UCX_UD_VERBS_TX_MIN_SGE配置为max_sge-1。