pbsproを実行した際、環境変数はどうなるの?
ジョブサブミッションサイトでの環境変数をそのまま引き継げるには?
「#PBS -V」を追加すれば、環境変数は引き継げられるが、計算ノードにジョブが入ると ~/.bashrc を評価する。
もし~/.bashrcにて PATH=ABC:$PATH があれば、計算ノードでは 「ABC:${引き継げられたPATH}」 となる
「#PBS -V」を追加しないのなら、計算ノードでの環境変数は、そのノードへログインしたときの環境変数となる。
qsubの中で特定の環境変数を使いたいのなら、qsub.shにその内容を描く必要がある。これが簡単かな。
#!/bin/bash
#PBS -q g3
#PBS -l nodes=g03:ppn=1
#PBS -j oe
cd $PBS_O_WORKDIR
export PATH=ABC
export LD_LIBRARY_PATH=ABC
./a.outもしEnvironmentModulesとまぜるなら、moduleコマンドをそのまま追加する
#!/bin/bash
#PBS -q g3
#PBS -l nodes=g03:ppn=1
#PBS -j oe
if [[ $SHELL = *csh* ]]; then # csh/tcshユーザで使えるように
source /etc/profile.d/modules.sh
fi
module load ABC
cd $PBS_O_WORKDIR
./a.out