

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# PCS AWS で単一ノードジョブを実行する
<a name="getting-started_run-job"></a>

 Slurm を使用してジョブを実行するには、ジョブ要件を指定する送信スクリプトを準備し、 `sbatch` コマンドを使用してキューに送信します。通常、これは共有ディレクトリから行われるため、ログインノードとコンピューティングノードにはファイルにアクセスするための共通スペースがあります。

 クラスターのログインノードに接続し、シェルプロンプトで次のコマンドを実行します。
+ デフォルトユーザーになります。共有ディレクトリに変更します。

  ```
  sudo su - ec2-user
  cd /shared
  ```
+ 次のコマンドを使用して、サンプルジョブスクリプトを作成します。

  ```
  cat << EOF > job.sh
  #!/bin/bash
  #SBATCH -J single
  #SBATCH -o single.%j.out
  #SBATCH -e single.%j.err
  
  echo "This is job \${SLURM_JOB_NAME} [\${SLURM_JOB_ID}] running on \${SLURMD_NODENAME}, submitted from \${SLURM_SUBMIT_HOST}" && sleep 60 && echo "Job complete"
  EOF
  ```
+ ジョブスクリプトを Slurm スケジューラに送信します。

  ```
  sbatch -p demo job.sh
  ```
+  ジョブが送信されると、ジョブ ID が数値として返されます。その ID を使用してジョブのステータスを確認します。次のコマンドの {{job-id}} を、 から返された数値に置き換えます`sbatch`。

  ```
  squeue --job {{job-id}}
  ```  
**Example**  

  ```
  squeue --job 1
  ```

   `squeue` コマンドは、次のような出力を返します。

  ```
  JOBID PARTITION NAME USER     ST TIME NODES NODELIST(REASON)
  1     demo      test ec2-user CF 0:47 1     compute-1
  ```
+  （`R`実行中) ステータスに達するまで、ジョブのステータスを引き続き確認します。ジョブは、 `squeue`が何も返さないときに行われます。
+  `/shared` ディレクトリの内容を確認します。

  ```
  ls -alth /shared
  ```

  コマンドの出力は次のようになります。

  ```
  -rw-rw-r- 1 ec2-user ec2-user 107 Mar 19 18:33 single.1.out
  -rw-rw-r- 1 ec2-user ec2-user 0 Mar 19 18:32 single.1.err
  -rw-rw-r- 1 ec2-user ec2-user 381 Mar 19 18:29 job.sh
  ```

   `single.1.out` および という名前のファイルは、クラスターのコンピューティングノードの 1 つによって`single.1.err`書き込まれました。ジョブは共有ディレクトリ (`/shared`) で実行されたため、ログインノードでも使用できます。そのため、このクラスターに FSx for Lustre ファイルシステムを設定しました。
+  `single.1.out` ファイルの内容を確認します。

  ```
  cat /shared/single.1.out
  ```

   出力は次の例のようになります。

  ```
  This is job test [1] running on compute-1, submitted from ip-10-3-13-181
  Job complete
  ```