Настройка включающих путей в LSF-bsub
Я выполняю большую работу на HPC. Но установленные программы для работы - старые версии, и у меня есть новые версии в моем домашнем каталоге. Я могу войти в любой узел, экспортировать путь к новым версиям, используя export PATH=/home/bharat/scratch/bin/:$PATH
, Однако я не уверен, экспортирую ли я путь в моей оболочке входа и отправляю работу, используя bsub
тогда только что экспортированный путь будет использоваться всеми узлами, на которых выполняется задание.
Я могу скопировать эти файлы в один из стандартных каталогов включения, но мой системный администратор не слишком готов сделать это для меня в ближайшее время.
Каков наилучший способ экспортировать путь во все узлы? Могу ли я написать сценарий оболочки с помощью команды экспорта + команда задания и передать этот сценарий bsub?
1 ответ
Каков наилучший способ экспортировать путь во все узлы? Могу ли я написать сценарий оболочки с помощью команды экспорта + команда задания и передать этот сценарий bsub?
Да. Написать сценарий (скажем, его имя myscript
) который оба устанавливает PATH и затем запускает вашу программу. Затем отправьте свою работу с помощью командной строки bsub myscript
, Ваша локальная установка будет использоваться вместо установки системы.
Еще более простой вариант, LSF установит переменные среды среды передачи в среду выполнения, включая PATH.
[mclosson@hostA ~]$ echo $PATH
/lsf/9.1/linux2.6-glibc2.3-x86_64/etc:/lsf/9.1/linux2.6-glibc2.3-x86_64/bin:/bin:/usr/bin
[mclosson@hostA ~]$ bsub -m hostB -Is 'echo $PATH'
Job <217> is submitted to default queue <interactive>.
<<Waiting for dispatch ...>>
<<Starting on hostB>>
/lsf/9.1/linux2.6-glibc2.3-x86_64/bin:/lsf/9.1/linux2.6-glibc2.3-x86_64/etc:/bin:/usr/bin
Теперь обновите ваш путь, чтобы он включал локальную установку вашей программы.
[mclosson@hostA ~]$ export PATH=/tmp/xxx:$PATH
[mclosson@hostA ~]$ bsub -m hostB -Is 'echo $PATH'
Job <218> is submitted to default queue <interactive>.
<<Waiting for dispatch ...>>
<<Starting on hostB>>
/lsf/9.1/linux2.6-glibc2.3-x86_64/bin:/tmp/xxx:/lsf/9.1/linux2.6-glibc2.3-x86_64/etc:/bin:/usr/bin