0

我已经成功地在我的集群上执行了一个程序,使用

mpirun -np 1 ./my_program

我已经my_program使用 Singularity 进行了容器化并制作了my_program.simg. 该容器还包括与主机相同版本的 OpenMPI。我想让集群中的节点执行 Singularity 容器,所以我尝试了:

mpirun -np 1 \
    singularity run my_program.simg

但是,这失败了:

[pn111:395108] PMIX ERROR: NOT-FOUND in file ../../../../../../../openmpi-3.1.3/opal/mca/pmix/pmix2x/pmix/src/server/pmix_server_ops.c at line 1865
[pn111:395108] PMIX ERROR: NOT-FOUND in file ../../../../../../../openmpi-3.1.3/opal/mca/pmix/pmix2x/pmix/src/server/pmix_server_ops.c at line 1865
[pn111:395108] PMIX ERROR: NOT-FOUND in file ../../../../../../../openmpi-3.1.3/opal/mca/pmix/pmix2x/pmix/src/server/pmix_server_ops.c at line 1865

我假设我需要向容器公开一些东西,以便它知道如何与 MPI 世界对话。是否有我需要绑定到容器中的套接字,或者我需要设置的环境变量,或者类似的东西?

Singularity 文档表明无需额外操作。

这个 GitHub issue可能有很好的建议,我会尝试的。

4

0 回答 0