1

Berkeley Lab チェックポイント (BLCR) スキームを使用してトルク ジョブ スケジューラによって処理されているジョブをチェックポイントしようとしていますが、コンパイル時に実行可能ファイルが静的にリンクされていると思われるため、cr_run 'my_exec' を試行するとエラーがスローされます。送信スクリプトは次のようになります (簡略化された疑似バージョン):

#!/bin/bash
#PBS -q workq
#PBS -l nodes=1:ppn=4
#PBS -l pmem=1gb,pvmem=2gb
#PBS -l walltime=30:00:00
#PBS -o out.log
#PBS -N jobname
#PBS -j oe

cd $PBS_O_WORKDIR

NNODES=$(uniq $PBS_NODEFILE | wc -l)
NP=$(wc -l $PBS_NODEFILE | awk '{print $1}')
echo PBS_NODEFILE is $PBS_NODEFILE
echo NNODES is $NNODES
cat $PBS_NODEFILE

cr_run 'executable' infile.inp > outfile.out &

## store process ID as variable and sleep 29 hours, then checkpoint
BGPID=$!
sleep 104400

cr_checkpoint -p $BGPID -f checkFile.checkpoint --term

私は動的にリンクされたバイナリ (主に自分で書いたコードから構築された実行可能ファイル) を使用してチェックポイント ジョブを成功させたので、これを行う方法は既に知っています。問題は、実行しようとしている実行可能ファイルが事前にコンパイルされていて、ソース コードがないか、またはこれが問題にならないことです。

いくつかのアドバイスを提供しているように思われるドキュメントをここ(4.2 を参照) で見つけましたが、ここで提案を解読してテストする前に、動的ではない実行可能ファイルから実行されるチェックポイント ジョブの経験があるかどうかを確認する価値があると思いました。コンパイル時にリンクされます。

補足として、コードには内部チェックポイントがありません。また、29 時間スリープするよりも丁寧なチェックポイントの方法を使用しています。これを含めたのは、スクリプトが煩雑にならず、読みやすくするためです。

4

1 に答える 1

1
于 2014-03-12T09:01:57.350 に答える