1

sbatch を使用してジョブを送信しています。
コマンドラインは次のmpirun --versionようになります:

Linux* OS 用インテル(R) MPI ライブラリー、バージョン 5.0 ビルド 20140507
Copyright (C) 2003-2014, Intel Corporation. 全著作権所有。

だから私はIntel mpiで作業していると思います。指示に従って: Intel MPI を使用して MPI ジョブを送信し、
次のようにスクリプトを記述します。

#!/bin/bash
#SBATCH --ntask=4
#SBATCH -t 00:10:00

. ~/.bash_profile

module load intel
mpirun mycc

mycc は、mpicc でソース ファイルをコンパイルした後に取得する実行可能ファイルです。
次に command を使用するsbatch -p partitionname -J myjob script.shと、私のジョブは終了コード 127:0 で失敗しました。slurm-jobid.out ファイルには次のように書かれています (ロケール設定の警告は脇に置いておいてください):

/usr/share/Modules/init/sh: 2 行目: /usr/bin/modulecmd: そのようなファイルまたはディレクトリはありません /tmp/slurmd/job252624/slurm_scirpt: 10 行目: mpirun: コマンドが見つかりません

しかし、確認したところ、/usr/bin/modulecmd ファイルが存在します。
どんな提案でも大歓迎です。

編集ここでも
質問しました。

ソース ステートメントとモジュール ロード ステートメントを削除しました。
ジョブを送信する前に、ログイン ノードにモジュールをロードしようとしました。しかし、何か問題があります。次のように述べています。

moduleCmd_Lad.c(204): エラー: 105: 'intel' のモジュール ファイルが見つかりません

コマンドを使用module availして、利用可能なモジュールを確認します。

----------/usr/share/Modules/modulefiles-------------------

ドット モジュール情報 mpich2-x86_64 use.won

module-cvs モジュール null

----------/etc/modulefiles---------------------------------

compat-openmpi-psm-x86_64 compat-openmpi-x86_64

乱雑な書式設定をお許しください。

解決済み

問題は最終的に解決されます。最終的な script.sh は次のようになります。

#!/bin/bash
srun -p partitionname -n 4 -t 00:10:00 mycc

次に、コマンドsbatch -p partitionname -J myjob script.shを使用してジョブを送信します。

4

1 に答える 1

2

/usr/bin/modulecmd がすべての計算ノードに存在しないようです。すべての計算ノードに存在することを確認してから、再試行してください。

また、/home がすべてのノードで共有されている場合は、bash_profile を source する必要はありません。Slurm はデフォルトですべての環境をジョブにエクスポートするためです。

于 2015-12-22T09:44:37.507 に答える