This is an old revision of the document!
Table of Contents
概要
クラスタ計算機の使い方です
サーバーへのログイン手順
SSH鍵の作成
クラスタ計算機にログインするためにはSSH鍵を作成する必要があります。 ターミナルを開いて次のようにコマンドを入力してください。
$ cd $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa): # Enterキーを押します Created directory '/home/username/.ssh'. # ~/.ssh がない場合、ディレクトリを作成します Enter passphrase (empty for no passphrase): # パスフレーズを入力します Enter same passphrase again: # もう一度パスフレーズを入力します Your identification has been saved in /home/username/.ssh/id_rsa. Your public key has been saved in /home/username/.ssh/id_rsa.pub.
パーミッションを設定します。
$ chmod 600 ~/.ssh/id_rsa $ chmod 700 ~/.ssh/
.sshディレクトリ(隠しフォルダ)に生成されたid_rsa.pubを、計算機の管理者にメールなどで送ってください。
計算機へのログイン
事前にクラスタ計算機の管理者からIPアドレスまたはホスト名を聞いてください。 ここではIPアドレス(またはホスト名)をxxx.xxx.xxx.xxxとします。
直接入る方法
ターミナルを開いて次のようにコマンドを打ちます。 usernameはクラスタ計算機でのユーザー名にしてください。
$ ssh -i ~/.ssh/id_rsa username@xxx.xxx.xxx.xxx The authenticity of host 'server_no_address.jp (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)? yes
パスフレーズを聞かれるので、SSH鍵を作成した際に設定したものを入力します。
configファイルを作成する方法
configファイルを使うと、ログインのたびに毎回IPアドレスを打ち込む手間が省けます。
$ cd ~/.ssh/ $ vim config
- config
Host hogehoge HostName xxx.xxx.xxx.xxx User username IdentityFile ~/.ssh/id_rsa
usernameはクラスタ計算機でのユーザー名に変更してください。 hogehogeは自分のわかりやすいものに変更してください。
ログインは次のようにします。
$ ssh hogehoge The authenticity of host 'server_no_address.jp (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no)? yes
パスフレーズを聞かれるので、SSH鍵を作成するときに設定したものを入力します。
ログアウト
終了するときはサーバーからログアウトしてください
$ exit
ソフトウェアの利用設定
コンパイラIntel OneAPIの設定
コンパイラIntel OneAPIの登録をします。 サーバーにログインし、ホーム・ディレクトリにある.bashrcを開いて、一番下の行にOneAPIのパスを追加します。
$ vim .bashrc
- .bashrc
(略) source /opt/intel/oneapi/setvars.sh
$ source ~/.bashrc
ジョブスケジューラOpenPBSの設定
ジョブスケジューラであるOpenPBSの設定をします
準備
.bashrcの最後の行にPBSのパスを追加します。
$ vim .bashrc
- .bashrc
(略) export PATH=/opt/pbs/bin/:/opt/pbs/sbin:$PATH
$ source ~/.bashrc
PBSのインストールディレクトリが見つからない場合は管理者に確認してください。
プログラムの実行
a.outというプログラムを実行する場合を考えます。 ジョブスケジューラでプログラムを実行すれば、サーバーからログアウト後もプログラムは動き続けます。
並列化なし
次のスクリプトファイルをプログラムと同じディレクトリに作成します。
$ vim run.sh
- run.sh
#!/bin/bash #PBS -V #PBS -l select=1:ncpus=1 cd $PBS_O_WORKDIR ./a.out
実行権限を付与します(実行権限は一度付与したら残り続けます)
$ chmod +x run.sh
ジョブを計算機に投げます
$ qsub run.sh
ジョブの状況はqstatコマンドで確認できます。
$ qstat
オプションをつけるとより細かいジョブ状態が見えます。 ジョブIDを省略した場合、投げているすべてのジョブについて表示されます。
$ qstat -s [Job ID]
- ジョブが走っているノードと、使用しているリソースを表示します。
$ qstat -f [Job ID]
- ジョブに関するすべての情報を表示します。
ジョブの強制終了はqdelコマンドで行います。 Job IDはqstatコマンドで調べ、該当するジョブの数字部分だけを入力します。
$ qdel [Job ID]
使用できる計算ノードの情報はpbsnodesコマンドで行います。
$ pbsnodes -a
ノードの使用状況がひと目でわかる簡易表示もできます。
$ pbsnodes -aSj