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

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2020-09-20 (日) 07:37:38 (35d)