Сделать файл доступным на всех узлах

Я пишу приложение MPI, которое принимает имя файла в качестве аргумента и пытается прочитать из файла, используя обычные функции Си. Я запускаю это приложение на нескольких узлах кластера, используя qsubкоторый в свою очередь использует mpiexec,

Приложение прекрасно работает на локальном узле, где находится файл. Для этого я просто позвоню mpiexec непосредственно:

mpiexec -n 4 ~/my_app ~/input_file.txt

Но когда я отправляю это с qsub для запуска на других узлах кластера, часть чтения файла не выполняется. Ошибки приложения на fopen вызов - он не может открыть файл (вероятно, потому что его нет).

Вопрос в том, как сделать файл доступным для всех узлов? Я посмотрел qsub manpage и не мог ничего оштрафовать.

1 ответ

Я думаю, Ванильная Горилла больше не нуждается в ответе? Однако давайте рассмотрим случай патологической системы без параллельной файловой системы и файловой системы, доступной только на одном узле. В ROMIO (очень распространенная реализация MPI-IO) есть способ достичь вашей цели:

Как я могу передать файл из одного процесса ко всем другим с помощью MPI?

Другие вопросы по тегам