Setzen von Include-Pfaden in LSF-bsub

972
WYSIWYG

Ich habe einen großen Job auf einem HPC. Die installierten Programme für den Job sind jedoch alte Versionen, und ich habe die neuen Versionen in meinem Home-Verzeichnis. Ich kann mich an jedem Knoten anmelden und den Pfad mit den neuen Versionen exportieren export PATH=/home/bharat/scratch/bin/:$PATH. Ich bin mir jedoch nicht sicher, ob ich den Pfad in meine Login-Shell bsubexportiere und einen Job mit übergebe . Dann wird der neu exportierte Pfad von allen Knoten verwendet, auf denen der Job ausgeführt wird.

Ich kann diese Dateien in eines der Standard-Include-Verzeichnisse kopieren, aber mein Sysadmin ist nicht sehr darauf aus, dies bald für mich zu tun .

Wie exportiere ich den Pfad jetzt am besten zu allen Knoten? Kann ich mit dem Exportbefehl + dem Jobbefehl ein Shell-Skript schreiben und dieses Skript an bsub übergeben?

0

1 Antwort auf die Frage

0
Michael Closson

Wie exportiere ich den Pfad jetzt am besten zu allen Knoten? Kann ich mit dem Exportbefehl + dem Jobbefehl ein Shell-Skript schreiben und dieses Skript an bsub übergeben?

Ja. Schreiben Sie ein Skript (sagen Sie seinen Namen myscript), das sowohl den PFAD setzt als auch Ihr Programm startet. Dann übergeben Sie Ihren Job mit der Befehlszeile bsub myscript. Ihre lokale Installation wird anstelle der Systeminstallation verwendet.

Eine noch einfachere Option: LSF setzt die Umgebungsvariablen der Übergabeumgebung in die Ausführungsumgebung, einschließlich 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 

Aktualisieren Sie jetzt Ihren Pfad, sodass er die lokale Installation Ihres Programms enthält.

[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