如何配置Chapel/GASNet以使用分区密钥在MXM Infiniband网络上运行多语言代码?

Tia*_*iro 4 infiniband gasnet chapel

我正在尝试在具有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

CHPL_COMM_SUBSTRATE=mxm一旦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)的群集上使用Chapel吗?

最好的祝福,

蒂亚戈卡内罗.

小智 6

蒂亚戈,

作为GASNet的ibv-conduit(支持libibverbs)的作者和维护者,我可以告诉你,我们从未支持过非默认的PKey.该消息*** FATAL ERROR: failed to connect (snd) status=12与使用错误的PKey一致.

根据您的问题,我尝试为用户指定的PKey提供支持.您可以在Bitbucket的GASNet git存储库中找到我的原型作为pull-request:https: //bitbucket.org/berkeleylab/gasnet/pull-requests/248(或https://bitbucket.org/PHHargrove/gasnet-public/commits/ibv-pkey/raw只获得一个原始补丁).您应该能够将该PR中的一个提交应用于third-party/gasnet/gasnet-srcChapel源的目录中.我没有分区的IB网络来测试.所以,如果你可以验证这可以解决你的问题,你会帮助我.

关于User requested --enable-mxm, but I don't know how to build mxm programs for your system,我怀疑GASNet的配置探针无法找到必要的头文件或库.失败的详细信息应在config.log下面的文件中third-party/gasnet/build.如果您的mxm头文件和库安装在除此之外的位置,/opt/mellanox/mxm则可以MXM_HOME在构建Chapel时设置环境变量,以通知GASNet的配置脚本实际位置.但是,我不知道libmxm中有任何PKey支持.所以,这可能是一个死胡同.

- 保罗