自作クラスタ計算機:ユーザー向け利用ガイド
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
自作クラスタ計算機:ユーザー向け利用ガイド [2022/11/30 17:02] – [SSH鍵の作成] koudai | 自作クラスタ計算機:ユーザー向け利用ガイド [2023/12/03 21:30] (current) – [プログラムの実行] koudai | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== 概要 ====== | ====== 概要 ====== | ||
- | クラスタ計算機の使い方です | + | * クラスタ計算機の使い方です |
+ | * 新入生向け | ||
Line 121: | Line 122: | ||
ジョブスケジューラであるOpenPBSの設定をします | ジョブスケジューラであるOpenPBSの設定をします | ||
- | |||
- | ==== 準備 ==== | ||
- | |||
- | .bashrcの最後の行にPBSのパスを追加します。 | ||
- | |||
- | < | ||
- | $ vim .bashrc | ||
- | </ | ||
- | |||
- | <file - .bashrc> | ||
- | (略) | ||
- | |||
- | export PATH=/ | ||
- | </ | ||
- | |||
- | |||
- | < | ||
- | $ source ~/.bashrc | ||
- | </ | ||
- | |||
- | PBSのインストールディレクトリが見つからない場合は管理者に確認してください。 | ||
Line 149: | Line 129: | ||
ジョブスケジューラでプログラムを実行すれば、サーバーからログアウト後もプログラムは動き続けます。 | ジョブスケジューラでプログラムを実行すれば、サーバーからログアウト後もプログラムは動き続けます。 | ||
- | === 並列化なし === | + | === 並列化なしでの簡単な例 |
次のスクリプトファイルをプログラムと同じディレクトリに作成します。 | 次のスクリプトファイルをプログラムと同じディレクトリに作成します。 | ||
Line 167: | Line 147: | ||
</ | </ | ||
- | 実行権限を付与します(実行権限は一度付与したら残り続けます) | + | スクリプトファイルに実行権限を付与します(実行権限は一度付与したら残り続けます) |
< | < | ||
Line 179: | Line 159: | ||
</ | </ | ||
- | ジョブの状況はqstatコマンドで確認できます。 | + | ジョブの状況やジョブ番号 (Job ID) はqstatコマンドで確認できます。 |
< | < | ||
Line 189: | Line 169: | ||
< | < | ||
- | $ qstat -s [Job ID] | + | $ qstat -s < |
</ | </ | ||
* ジョブが走っているノードと、使用しているリソースを表示します。 | * ジョブが走っているノードと、使用しているリソースを表示します。 | ||
< | < | ||
- | $ qstat -f [Job ID] | + | $ qstat -f < |
</ | </ | ||
* ジョブに関するすべての情報を表示します。 | * ジョブに関するすべての情報を表示します。 | ||
Line 200: | Line 180: | ||
ジョブの強制終了はqdelコマンドで行います。 | ジョブの強制終了はqdelコマンドで行います。 | ||
- | Job IDはqstatコマンドで調べ、該当するジョブの数字部分だけを入力します。 | ||
< | < | ||
- | $ qdel [Job ID] | + | $ qdel < |
</ | </ | ||
Line 213: | Line 192: | ||
</ | </ | ||
- | ノードの使用状況がひと目でわかる簡易表示もできます。 | + | 各ノードの使用状況がひと目でわかる簡易表示もできます。 |
< | < | ||
$ pbsnodes -aSj | $ pbsnodes -aSj | ||
</ | </ | ||
+ | |||
+ | |||
+ | === 並列化する場合 === | ||
+ | |||
+ | 使用には数値計算プログラムをOpenMPやMPIによる並列化に対応させる必要があります。 | ||
+ | |||
+ | * select ... ノードの数を指定します | ||
+ | * ncpus ... 1ノードあたりのCPUのコア数を指定します | ||
+ | * mpiprocs ... 1ノードあたりのMPIスレッド数を指定します | ||
+ | * ompthreads ... OpenMPスレッド数を指定します | ||
+ | |||
+ | ncpus = mpiprocs × ompthreads となるように設定します。 | ||
+ | |||
+ | === 例:OpenMPのみ === | ||
+ | |||
+ | 12スレッドのOpenMP並列の例です。 | ||
+ | |||
+ | <file - run.sh> | ||
+ | #!/bin/bash | ||
+ | #PBS -V | ||
+ | #PBS -l select=1: | ||
+ | |||
+ | cd $PBS_O_WORKDIR | ||
+ | |||
+ | ./a.out | ||
+ | </ | ||
+ | |||
+ | |||
+ | === 例:OpenMPとMPIのハイブリッド実行 === | ||
+ | |||
+ | 2ノード48コア(1ノード当たり24コア)を使用し、MPIスレッドは全部で4つ作る例です。 | ||
+ | 各MPIスレッドでOpenMPは12並列です | ||
+ | |||
+ | <file - run.sh> | ||
+ | #!/bin/bash | ||
+ | #PBS -V | ||
+ | #PBS -l select=2: | ||
+ | |||
+ | cd $PBS_O_WORKDIR | ||
+ | |||
+ | ./a.out | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
自作クラスタ計算機/ユーザー向け利用ガイド.1669795324.txt.gz · Last modified: 2022/11/30 17:02 by koudai