1

sbatch がスクリプトを計算ノードにコピーするのを止める方法はありますか? たとえば、実行すると:

sbatch --mem=300 /shared_between_all_nodes/test.sh

test.sh は、実行中の計算ノードの /var/lib/slurm-llnl/slurmd/etc/ にコピーされます。これに関する問題は、test.sh が使用する必要がある /shared_between_all_nodes/ に他のスクリプトがあり、パスのハードコーディングを避けたいことです。

sge では、qsub -by を使用して、スクリプトが計算ノードにコピーされないようにすることができました。slurm に同様のオプションまたは構成はありますか?

4

2 に答える 2

1

sbatch --wrap の使用は、これに対する優れたソリューションです

sbatch --wrap /shared_between_all_nodes/test.sh

スクリプトにパラメータがある場合は引用符が必要です

sbatch --wrap "/shared_between_all_nodes/test.sh param1 param2"

sbatch ドキュメントからhttp://slurm.schedmd.com/sbatch.html

--wrap= Sbatch は、指定されたコマンド文字列を単純な「sh」シェル スクリプトでラップし、そのスクリプトを slurm コントローラーに送信します。--wrap を使用する場合、スクリプト名と引数をコマンド ラインで指定することはできません。代わりに、sbatch で生成されたラッパー スクリプトが使用されます。

于 2014-08-15T01:24:01.283 に答える
0

スクリプトはそこにコピーされる場合がありますが、作業ディレクトリはsbatchコマンドが起動されるディレクトリになります。したがって、コマンドがそこから起動され/shared_between_all_nodes/た場合は機能するはずです。

どこでもフォームを起動できるようにするにsbatchは、このオプションを使用します

   -D, --workdir=<directory>
          Set the working directory of the batch script to directory before 
          it is executed.

お気に入り

sbatch --mem=300 -D /shared_between_all_nodes /shared_between_all_nodes/test.sh
于 2014-07-11T15:42:55.163 に答える