Настройка путей включения в LSF-bsub

Настройка путей включения в LSF-bsub

Я запускаю большую работу на HPC. Но установленные программы для работы — старые версии, а новые версии у меня в домашнем каталоге. Я могу войти в любой узел, экспортировать путь к новым версиям с помощью export PATH=/home/bharat/scratch/bin/:$PATH. Однако я не уверен, что если я экспортирую путь в своей оболочке входа и отправлю работу с помощью bsub, то будет ли новый экспортированный путь использоваться всеми узлами, которые запускают работу.

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

Каков наилучший способ теперь экспортировать путь ко всем узлам? Могу ли я написать скрипт оболочки с командой export + командой job и передать этот скрипт в bsub?

решение1

Каков наилучший способ теперь экспортировать путь ко всем узлам? Могу ли я написать скрипт оболочки с командой export + командой job и передать этот скрипт в 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

Связанный контент