экран с mpirun - PullRequest
       16

экран с mpirun

2 голосов
/ 13 сентября 2011

MPI работает нормально:

$ mpirun -np 2 -H compute-0-0,compute-0-1 echo 1
1
1

Однако он не работает при запуске через экран:

$ rm -f screenlog.*
$ screen -L mpirun -np 2 -H compute-0-0,compute-0-1 echo 1
[screen is terminating]
$ cat screenlog.0 
mpirun: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory

Это не помогает:

$ rm -f screenlog.*
$ screen -L `which mpirun` -xLD_LIBRARY_PATH -np 2 -H compute-0-0,compute-0-1 echo 1
[screen is terminating]
$ cat screenlog.0 
/share/apps/intel/openmpi/bin/mpirun: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory

1 Ответ

1 голос
/ 13 сентября 2011

(Это кластер Скалы?)

Видимо, вы не получаете права $LD_LIBRARY_PATH по некоторым причинам.

Это не очень чистое решение, но оно должно работать:

$ screen -L env LD_LIBRARY_PATH=$LD_LIBRARY_PATH mpirun -np 2 \
  -H compute-0-0,compute-0-1 echo 1

Я предполагаю, что это то, что вы пытались сделать с опцией -xLD_LIBRARY_PATH, но я не вижу, чтобы в документации мне удалось найти.

Это то, что вы пытались сделать с опцией -xLD_LIBRARY_PATH, но это только собирает значение $LD_LIBRARY_PATH из процесса, вызванного screen (и передает его команде echo 1 ). К тому времени уже поздно. Кроме того, справочная страница предполагает наличие пробела: -x LD_LIBRARY_PATH; Я не знаю, требуется ли это.

Есть ли какой-нибудь скрипт, который вы используете для получения среды (включая $LD_LIBRARY_PATH) для MPI? Это происходит автоматически при запуске вашей оболочки входа в систему, или вы делаете это вручную? Возможно, вы захотите написать небольшой скрипт-обертку, который будет источником сценария установки, а затем вызовет указанную команду. Что-то вроде (не проверено):

#!/bin/sh
. /share/apps/intel/openmpi/etc/setup.sh # probably not the right name
exec "$@"

Сохраните его как $HOME/bin/mpienv.sh, тогда вы можете использовать:

$ screen -L mpienv.sh mpirun -np 2 -H compute-0-0,compute-0-1 echo 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...