我正在尝试在具有MXM Infiniband网络(40 Gbps,型号:Mellanox Technologies MT26428)的群集上运行多语言环境的Chapel代码。
我遵循了Chapel和GASNet文档,并且进行了设置
export CHPL_COMM_SUBSTRATE=ibv
export CHPL_LAUNCHER=gasnetrun_ibv
export GASNET_IBV_SPAWNER=mpi
不推荐使用xm,而不再使用CHPL_COMM_SUBSTRATE=mxm
。
问题是我可以使用ibv基板来构建Chapel。但是,我不能在多个语言环境上运行。我收到大量超时错误。
首先,我认为问题是PKEY。因此,我将"--mca btl_openib_pkey "0x8100""
添加到了MPIRUN_CMD
中。但是,没有成功。
我还尝试使用过时的mxm配置:
CHPL_LAUNCHER=gasnetrun_mxm
export CHPL_LAUNCHER=gasnetrun_ibv
export GASNET_MXM_SPAWNER=mpi
但是,我无法使用这种配置来构建Chapel。那是错误消息:
"User requested --enable-mxm, but I don't know how to build mxm programs for your system."
顺便说一句,在没有分区密钥的MPI,UDP和Infiniband上使用GASNET很好。
有人知道如何在配备MXM Infiniband网络和分区密钥(PKEY)的群集上使用教堂吗?
最好的问候,
Tiago Carneiro。
答案 0 :(得分:6)
Tiago,
作为GASNet ibv-conduit(支持libibverbs)的作者和维护者,我可以告诉您,我们从未支持过非默认PKey。消息*** FATAL ERROR: failed to connect (snd) status=12
与使用错误的PKey一致。
根据您在此处的问题,我已尝试为用户指定的PKey提供支持。您可以在Bitbucket的GASNet git存储库中以请求请求的身份找到我的原型:https://bitbucket.org/berkeleylab/gasnet/pull-requests/248(或https://bitbucket.org/PHHargrove/gasnet-public/commits/ibv-pkey/raw只是获得原始补丁)。您应该能够在Chapel来源的third-party/gasnet/gasnet-src
目录中的那个PR中应用一次提交。我没有要测试的分区IB网络。因此,如果可以验证是否可以解决您的问题,那么您将为我提供帮助。
关于User requested --enable-mxm, but I don't know how to build mxm programs for your system
,我怀疑GASNet的configure探针无法找到必要的标头或库。故障的详细信息应位于config.log
下的third-party/gasnet/build
文件中。如果您的mxm标头和库文件安装在/opt/mellanox/mxm
以外的位置,那么在构建Chapel时可以设置环境变量MXM_HOME
,以将实际位置告知GASNet的配置脚本。但是,我不知道libmxm中有任何PKey支持。因此,这可能是一个死胡同。
-保罗