如何使用分区密钥在 MXM Infiniband 网络上为 运行 多语言环境代码配置 Chapel/GASNet?
How to Configure Chapel/GASNet for running multilocale codes on MXM Infiniband network with Partition Key?
我正在尝试 运行 在具有 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
但是,我不能用这样的配置建造教堂。那是错误信息:
"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 吗?
此致,
蒂亚戈·卡内罗。
蒂亚戈,
作为 GASNet ibv-conduit(支持 libibverbs)的作者和维护者,我可以告诉您,我们从未支持过 non-default PKey。消息 *** FATAL ERROR: failed to connect (snd) status=12
与使用错误的 PKey 一致。
根据您在这里提出的问题,我已尝试为 user-specified PKey 提供支持。您可以在 Bitbucket 的 GASNet git 存储库中找到我的原型 pull-request:https://bitbucket.org/berkeleylab/gasnet/pull-requests/248 (or 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 的配置探针无法找到必要的 headers 或库。失败的详细信息应在 third-party/gasnet/build
下面的 config.log
文件中。如果您的 mxm headers 和 libs 安装在 /opt/mellanox/mxm
以外的位置,那么您可以在构建 Chapel 时设置环境变量 MXM_HOME
,以告知 GASNet 的配置脚本实际位置。但是,我不知道 libmxm 中有任何 PKey 支持。所以,这可能是一条死胡同。
-保罗
我正在尝试 运行 在具有 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
但是,我不能用这样的配置建造教堂。那是错误信息:
"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 吗?
此致,
蒂亚戈·卡内罗。
蒂亚戈,
作为 GASNet ibv-conduit(支持 libibverbs)的作者和维护者,我可以告诉您,我们从未支持过 non-default PKey。消息 *** FATAL ERROR: failed to connect (snd) status=12
与使用错误的 PKey 一致。
根据您在这里提出的问题,我已尝试为 user-specified PKey 提供支持。您可以在 Bitbucket 的 GASNet git 存储库中找到我的原型 pull-request:https://bitbucket.org/berkeleylab/gasnet/pull-requests/248 (or 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 的配置探针无法找到必要的 headers 或库。失败的详细信息应在 third-party/gasnet/build
下面的 config.log
文件中。如果您的 mxm headers 和 libs 安装在 /opt/mellanox/mxm
以外的位置,那么您可以在构建 Chapel 时设置环境变量 MXM_HOME
,以告知 GASNet 的配置脚本实际位置。但是,我不知道 libmxm 中有任何 PKey 支持。所以,这可能是一条死胡同。
-保罗