User Tools

Site Tools


自作クラスタ計算機:ユーザー向け利用ガイド

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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