Я успешно выполнил программу на своем кластере, используя
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 может быть хороший совет, который я попробую.