Справочная информация: Я успешно создал приложения на основе MPI в контейнере Singularity и выполнил их в гибридном режиме, рекомендованном в документации Singularity. Это требует, чтобы у меня была «совместимая» версия MPI, установленная как в контейнере, так и на хосте O / S. Я понимаю, почему это необходимо, если я буду выполнять задания на нескольких узлах.
Но в нашем случае использования у нас медленные межсоединения, и поэтому практически не имеет смысла запускать задания более чем на одном узле. Гибридный режим вынуждает меня отслеживать каждую версию MPI, встроенную в каждый контейнер, который может быть когда-либо использован, чтобы убедиться, что на хосте O / S доступен правильный MPI. Причина, по которой я в первую очередь обратился к контейнерам, заключается в том, чтобы не сталкиваться с такими проблемами, связанными с зависимостью от версии.
Мой вопрос: Если я согласен с тем ограничением, что приложения MPI могут выполняться только в пределах одного физического узла, могу ли я построить приложение MPI в контейнере Singularity? что не зависит от наличия чего-либо установленного на хосте O / S?