LSF-bsub에 포함 경로 설정

LSF-bsub에 포함 경로 설정

저는 HPC에서 큰 일을 하고 있습니다. 하지만 해당 작업을 위해 설치된 프로그램은 이전 버전이고 내 홈 디렉터리에 새 버전이 있습니다. 모든 노드에 로그인하고 export PATH=/home/bharat/scratch/bin/:$PATH. 그러나 로그인 셸에서 경로를 내보내고 를 사용하여 작업을 제출하면 bsub새로 내보낸 경로가 작업을 실행 중인 모든 노드에서 사용되는지 확실하지 않습니다.

기본 포함 디렉터리 중 하나에 이 파일을 복사할 수 있지만 시스템 관리자가 곧 복사할 의욕이 없습니다..

경로를 모든 노드로 내보내는 가장 좋은 방법은 무엇입니까? 내보내기 명령 + 작업 명령을 사용하여 쉘 스크립트를 작성하고 이 스크립트를 bsub에 전달할 수 있습니까?

답변1

경로를 모든 노드로 내보내는 가장 좋은 방법은 무엇입니까? 내보내기 명령 + 작업 명령을 사용하여 쉘 스크립트를 작성하고 이 스크립트를 bsub에 전달할 수 있습니까?

예. myscriptPATH를 설정한 다음 프로그램을 시작하는 스크립트(예: 이름이 지정됨)를 작성하십시오 . 그런 다음 명령줄을 사용하여 작업을 제출합니다 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

관련 정보