Как рабочее пространство используется в MPI? - PullRequest
1 голос
/ 12 декабря 2011

Интересно о 2 вещах:

  • когда я запускал свое приложение на кластере mpi, созданном на 3 компьютерах, оно запускалось из какого-то общего виртуального каталога или у меня есть доступ к ряду некоторых папок dir / some на каждом компьютере, на котором запущено мое приложение?
  • моя программа использует много общих библиотек, и, как правило, когда я запускаю ее на одном компьютере, я называю export LD_LIBRARY_PATH=./:./libs_boost/, как сделать так, чтобы мои .so библиотеки были доступны другим машинам без совместного использования всего каталога? Можно ли сказать что-то вроде mpiexec -n24 -share_files_across_machines=./file1.so:./lib_boost/**:./some_other_not_lib_file.txt?

1 Ответ

4 голосов
/ 12 декабря 2011

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

Более конкретно:

  • процесс MPI по-прежнему является обычным процессом UNIX (или Windows): поэтому ваше приложение может использовать любой вызов операционной системы для доступа к локальной файловой системе или общей сетевой файловой системе (если имеется).

  • в кластерах, которые не предоставляют общий каталог, вы можете использовать scp, чтобы скопировать необходимые файлы запуска (например, библиотеки) в другие узлы и аналогичным образом собрать обратно выходные файлы. (Лучше автоматизировать это с помощью сценария оболочки.)

  • Некоторые приложения позволяют указывать, какие узлы могут выполнять ввод / вывод: все остальные узлы будут получать входные данные через каналы связи MPI от процессов, выполняющихся на назначенных узлах ввода / вывода. (Однако это не будет работать с библиотеками, поскольку они загружаются операционной системой перед запуском процесса MPI.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...