MPI не делает никаких предположений о том, как файлы передаются / распространяются среди всех
участвующие узлы. Это полностью вопрос локальной конфигурации,
так что вы не можете получить общий ответ: вы должны увидеть, как ваш кластер
настроен (спросите системного администратора?).
Более конкретно:
процесс MPI по-прежнему является обычным процессом UNIX (или Windows): поэтому ваше приложение может использовать любой вызов операционной системы для доступа к локальной файловой системе или общей сетевой файловой системе (если имеется).
в кластерах, которые не предоставляют общий каталог, вы можете использовать scp
, чтобы скопировать необходимые файлы запуска (например, библиотеки) в другие узлы и аналогичным образом собрать обратно выходные файлы.
(Лучше автоматизировать это с помощью сценария оболочки.)
Некоторые приложения позволяют указывать, какие узлы могут выполнять ввод / вывод: все остальные узлы будут получать входные данные через каналы связи MPI от процессов, выполняющихся на назначенных узлах ввода / вывода. (Однако это не будет работать с библиотеками, поскольку они загружаются операционной системой перед запуском процесса MPI.)