分子シミュレーション関連:環境構築:slurm

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
分子シミュレーション関連:環境構築:slurm [2019/03/22 14:43] mumeiyamibito分子シミュレーション関連:環境構築:slurm [2023/06/14 10:53] (現在) – [インストール方法] mumeiyamibito
行 2: 行 2:
 ===== 概要 ===== ===== 概要 =====
   * Torque や Sun Grid Engine のようなジョブ管理ツール。   * Torque や Sun Grid Engine のようなジョブ管理ツール。
-  * 現状、ドキュメントは Torque の方が多く、Slurm は圧倒的にドキュメントが少なく、日本語ドキュメントはさらに少ない…。+  * 現状、Slurm は Torque に比べ圧倒的にドキュメントが少なく、日本語ドキュメントはさらに少ない…。
   * Ubuntu のデフォルトリポジトリには登録されている。   * Ubuntu のデフォルトリポジトリには登録されている。
  
行 10: 行 10:
   * 参考サイト: [[https://slurm.schedmd.com/quickstart.html | Slurm Workload Manager]]   * 参考サイト: [[https://slurm.schedmd.com/quickstart.html | Slurm Workload Manager]]
  
-===== インストール法 ===== +===== 使い方 ===== 
-  * ここUbuntu 16.04 ベースでソースからコンイルする方法紹介する。+==== ジョブの投入 ==== 
 +  * torque と同じで、ジョブファイルを作成し''sbatch'' ドにそのジョブファイルを与える。\\ <code bash> 
 +$ sbatch JOBFILE.sh 
 +</code> 
 +  * ジョブの制御は、コマンドオプションで指定するか、ジョブファイルの先頭に ''#SBATCH ...'' というコマンド記述する。 
 +  * ジョブファイルの例:\\ <code bash job.sh> 
 +#!/bin/bash
  
 +#SBATCH -p PARTITION
 +#SBATCH -n 1
 +#SBATCH -J "JOB_NAME"
 +#SBATCH -o "LOG_FILE"
 +
 +JOB_COMMAND
 +</code>
 +    * ''-p'': ジョブを実行するパーティション名を指定
 +    * ''-n'': ジョブに必要な CPU 数を指定
 +    * ''-J'': ジョブ名を指定
 +    * ''-o'': ログファイルを指定
 +    * ''JOB_COMMAND'': 実行したいコマンド (シェルスクリプト)
 +    * これらのコマンドは ''sbatch'' のコマンドオプションとしても機能する。
 +    * 参考サイト: [[https://slurm.schedmd.com/sbatch.html | Slurm Workload Manager - sbatch]]
 +
 +==== ジョブの確認 ====
 +  * ''squeue'' コマンドで確認する。
 +  * ''squeue'' コマンドでは表示フォーマットを変更することもできる。フォーマットの変更は ''-o'' オプションで、C 言語の ''printf()'' のように指定する。
 +    * ''%i'': ジョブ ID
 +    * ''%j'': ジョブ名
 +    * ''%t'': ジョブの状態
 +    * ''%M'': ジョブ開始からの経過時間
 +    * ''%P'': パーティション名
 +    * ''%R'': 待機しているノードリストおよびジョブが進行しない理由
 +    * ''%Z'': ジョブ実行ディレクトリ
 +    * ''%o'': ジョブファイルパス
 +    * 表示フォーマットの指定例:
 +      * 標準: ''squeue -S i -o "%.8i %8j %2t %.10M %9P %R"''
 +      * 標準+ディレクトリ: ''squeue -S i -o "%.8i %8j %2t %.10M %9P %16R %Z"''
 +      * 標準+実行ファイル: ''squeue -S i -o "%.8i %8j %2t %.10M %9P %16R %o"''
 +  * その他のオプション
 +    * ''-S'': 特定のカラムでソート (ソート内容は表示フォーマットで指定)
 +      * 例: ''-S i'' (''%i'' のジョブ ID でソート)
 +
 +==== ジョブ制御 ====
 +  * 待機中のジョブを停止 (実行させないように) する\\ <code bash>
 +$ scontrol hold JOBID
 +</code>
 +    * ''JOBID'': 停止させたいジョブ ID (スペースで区切って複数指定可)
 +    * ジョブ投入時に、この状態にしたい場合は、''sbatch -H'' でジョブを投入する
 +  * 上記の待機状態を解除する\\ <code bash>
 +$ scontrol release JOBID
 +</code>
 +  * 実行中のジョブを停止 (一時停止) させる。\\ <code bash>
 +$ sudo scontrol suspend JOBID
 +</code>
 +    * ''JOBID'': 実行中の停止させたいジョブ
 +    * 管理者権限が必要となることに注意
 +  * 上記の状態を解除する\\ <code bash>
 +$ sudo scontrol resume JOBID
 +</code>
 +
 +===== インストール方法 =====
 +  * Ubuntu のリポジトリ (apt) からインストールする場合は、"[[https://in-neuro.hatenablog.com/entry/2020/03/07/150139 | コア数が多いマシンが手に入ったのでslurmで計算クラスターにする - in neuro]]" を参照。
 + * ここでは、Ubuntu 16.04 ベースで、ソースからコンパイルする方法を紹介する。
 + 
   - 認証システム munge をインストールする。\\ <code bash>   - 認証システム munge をインストールする。\\ <code bash>
 $ sudo apt-get install libmunge-dev libmunge2 munge $ sudo apt-get install libmunge-dev libmunge2 munge
行 180: 行 242:
     * ''Type'': GPU のアーキテクチャ名     * ''Type'': GPU のアーキテクチャ名
     * ''File'': GPU のデバイスファイルパス     * ''File'': GPU のデバイスファイルパス
 +    * アーキテクチャ対応表: https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
  
  
  • 分子シミュレーション関連/環境構築/slurm.1553233427.txt.gz
  • 最終更新: 2019/03/22 14:43
  • by mumeiyamibito