[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#menu(LABO/MenuBar)
* LABO/RockyOHPC [#a02dfd8c]
#contents
** 一行メモ [#kbe38b35]
- ohpcパッケージの展開後のファイルに、gangliaの設定ファイ...
- 現在、ファイヤーウォールで最小限に閉じている。開けると...
-- sudo firewall-cmd --add-port=8801/tcp --zone=external...
- https://github.com/openhpc/ohpc/wiki/ -- &new{2024-09-...
-- https://openhpc.community/ OpenHPCコミュニティー
-- https://lists.openhpc.community/g/users
-- https://lists.openhpc.community/g/users/topics?sidebar...
- CentOS7とRockyのちがい -- &new{2024-10-08 (火) 22:14:5...
- yum -> dnf 引数はほぼ同じ
https://atmarkit.itmedia.co.jp/ait/articles/2001/09/n...
https://qiita.com/yasushi-jp/items/0dc7f413632927f92286
- service,chkconfig -> systemctl
- firewall-cmd(+iptables) -> firewall-cmd(+nftables)
- ext4 -> xfs
- ifconfig -> ip address
- RH9ドキュメント https://docs.redhat.com/ja/documentatio...
- taskset -cp 6717 #PID 6717がどのCPUコアを使っているか...
- echo "1min 5min 15min running/total last_pid"; pdsh...
- { echo "1min 5min 15min running/total last_pid"; cl...
#comment
//-------------------------------------------------------...
* 簡単な使い方 [#l1e3af70]
** kalmia (Rocky OpenHPCクラスタ) の概要 [#c2bbef7f]
*** 利用方法 [#gd2e51cf]
ssh等でフロントエンドの kalmia.eit.hirosaki-u.ac.jp にリ...
または、コンソールからログインする。
実行したいプログラムは、フロントエンド(kalmia)からsbatch...
フロントエンドか、計算ノード(cNNN)で実行させる。通常、計...
sbatchで実行させるためには、実行手順を記述したシェルスク...
(ジョブスクリプトやサブミットスクリプトなどと呼ばれる)。
スクリプトは、SLURMというジョブ管理システムにより取り扱わ...
スクリプトやスクリプトの内容を、ジョブや、計算ジョブ、バ...
スクリプト内に、スクリプト自身をどのようにのように実行さ...
SLURMのオプション(下記例のように #SBATCHによる指定行)を含...
ジョブは非対話処理であるため、実行時にキーボードからの入...
その場合は、入力リダイレクションか、ヒアドキュメントを使...
ログインディレクトリは /home/hogehoge である(計算ノード...
/opt/appsディレクトリには、いくつかのソフトウェアをインス...
また、/workも利用できる。
kalmiaでは、/homeと/opt/apps, /workはフロントエンドにあり、
各計算ノードはNFSによってそれらのディレクトリを利用してい...
*** ディスク容量 [#xd5c6e5b]
/ 200GB NVMe,LVM
/home 5.8TB NVMe,LVM
/work 2.2TB HDD,LVM(ストライピング数3)
/bkup 5.9TB HDD,LVM,/と/homeのバックアップ用
//-------------------------------------------------------...
** ジョブのサブミット方法 [#y65c545c]
*** ジョブの実行 [#jb842ec4]
フロントエンドからジョブスクリプトを、実行したいキュー, S...
sbatchで投入する形で実行させる(下記参照)。
ジョブをキューに投入することをサブミットと呼ぶ。
なお、フロントエンドでキュー以外では重たいプログラムは実...
*** キュー(パーティション)の種類 [#z477a4cd]
- all.p : 全計算ノードとフロントエンドを含むキュー
//:|全計算ノードとフロントエンドを含むキュー。
- compute.p : 全計算ノード(現在c101~c105)を含むキュー
//:|全計算ノード(現在c101,c102)を含むキュー。
*** サブミット例(シリアルジョブ) [#db59d959]
例えば &ref(testPrime.c); がカレントディレクトリにあると...
$ gcc testPrime.c -o testPrime.x
$ ./testPrime.x
input number (max:9223372036854775807)> 60000
input print interval> 1000
print prime numbers up to 60000 th with interval 1000
Prime Number 1000 th: 7919
Prime Number 2000 th: 17389
...
Prime Number 59000 th: 732923
Prime Number 60000 th: 746773
DONE: up to 60000 th ( examined between 2 to 746773 )
real time: 40 sec
次の内容で testPrime.shを作る。最初の#SBATCHの行はどのよ...
である。-- jobs -- の部分の前半は、sysName変数などを設定...
後半部分はプログラムを実行させ、結果をリダイレクションで ...
リダイレクションしない場合は、testPrime.sh.oNNNというファ...
#!/bin/bash
# ver 1.0 script for slurm
#SBATCH -p compute.p -w c101 #queue(partition) [-w hosts...
#SBATCH -N 1 #num of node; SLURM_NNODES
#SBATCH -n 1 #num of process(task); SLURM_NTASKS ...
#SBATCH -c 1 #num of thread in process; SLURM_CPUS_PE...
#SBATCH -o %x.o%j # output stdout and stderr into .oNNN
#SBATCH -e %x.o%j
# -- jobs ------------------------------
sysName=`basename $0 ".sh"`
[ $sysName = "slurm_script" ] && sysName=`basename ${SL...
s_s_host=${SLURM_SUBMIT_HOST:-C}
OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK:-1}
export OMP_NUM_THREADS
echo ${s_s_host%%.*} ${HOSTNAME%%.*} > $sysName.out
date >> $sysName.out
./testPrime.x <<EOF >> $sysName.out
60000
1000
EOF
# --------------------------------------
サブミットは
$ sbatch testPrime.sh
とする。サブミットすると JOB IDが割り当てられる。
前半部分のsysName変数などの設定は、ジョブスクリプト名を r...
実行すると($ sbatch runPrime.sh)、runPrime.outに結果が保...
キューでなくコマンドラインからでも同じように実行($ ./runP...
また、並列化に関する変数なども設定されている。
上記の例はシリアルジョブ(並列化していないジョブ)である。
通常のコンパイル・リンクで作ったプログラム(testPrime.xな...
並列化ジョブは、MPI並列化の場合はそのライブラリを使用して、
OpenMP並列化の場合はコンパイラのディレクティブを使用して...
そして、#SBATCHのオプションで node,task,threadの値を与え...
*** キューの込み具合の確認 [#z3677d2e]
現在、GUIのようなものは無いので、例えば以下のコマンドを使...
使用中や利用可のCPU数は allocatedや idleで確認できる。
$ sinfo -o "%.9P %5a %13C %.5D %10N %.9T |%38E"
PARTITION AVAIL CPUS(A/I/O/T) NODES NODELIST STA...
compute.* up 4/0/0/4 1 c102 allocat...
compute.* up 0/4/0/4 1 c101 id...
all.p up 4/0/0/4 1 c102 allocat...
all.p up 0/12/0/12 2 c101,kalmi id...
キュー内のジョブを表示する。
$ squeue -o "%.5i %9P %24j %.2t %.10M %.5D %.4C %8u %R"
JOBID PARTITION NAME ST TIME N...
35 all.p sample_optH2mb64g256t.in R 1:33 ...
各ノードの負荷を表示する(1)。
$ clush -g all -L 'uptime'
c101: 11:16:45 up 21:36, 0 users, load average: 0.00,...
c102: 11:16:46 up 21:35, 0 users, load average: 0.74,...
kalmia: 11:16:45 up 22 days, 35 min, 2 users, load av...
各ノードの負荷を表示する(2)。
$ pdsh -w 'c10[1,2],kalmia' 'uptime'
kalmia: 11:16:51 up 22 days, 35 min, 2 users, load av...
c102: 11:16:51 up 21:35, 0 users, load average: 0.76,...
c101: 11:16:51 up 21:36, 0 users, load average: 0.00,...
*** サブミットしたジョブのキャンセル [#c97115e6]
$ scancel JOBID
*** OpenMP並列ジョブ [#p09af6c4]
SBATCH -c でスレッド数を指定する(SBATCH -N とSBATCH -n ...
プログラムはOpenMPディレクティブを使用して作ったもの。
*** フラットMPI並列(MPI並列)ジョブ [#hb314cd3]
SBATCH -N でノード数を指定する(SBATCH -n とSBATCH -c は ...
プログラムはMPIライブラリを使用して作ったもの。
プログラムの実行は mpirun PROGRAM などとする。
*** ハイブリッドMPI並列(MPI/OpenMP並列)ジョブ [#ge28fe13]
SBATCH -N でノード数を指定し、
SBATCH -n でプロセス数を指定(ノード数と同じ数)し、
SBATCH -c でスレッド数を指定する。
プログラムはOpenMPとMPIで作ったもので、実行は mpirun PROG...
*** salloc(対話ジョブ) [#qed61d0a]
$ salloc -p all.p -w c101,c102 -N 2 -n 8 -c 1 #例、オプ...
終了は exit
次のように mpirunコマンドなどもsbatchと同じく利用できる。
mpirun PROGRAM
prun PROGRAM #主にMPI用、mpirunよりもこちらを推奨ら...
srun PROGRAM #ネイティブコマンドらしい(さらに高機能)
//-------------------------------------------------------...
* pythonの利用(anaconda版) [#nf6e02b6]
** python 3.7.0 [#td34363d]
$ source /opt/apps/anaconda3.bash_conda #py370
$ conda list #インストールされているパッケージの一覧表示
主なもの
numpy 1.21.5
scipy 1.7.3
h5py 2.10.0
jupyter 1.0.0
matplotlib 3.5.3
jupytext 1.15.0
** python 3.9.13 [#a4e2103e]
$ source /opt/apps/anaconda3.bash_conda; conda activate ...
$ conda list #インストールされているパッケージの一覧表示
主なもの
numpy 1.25.0
scipy 1.10.1
h5py 3.7.0
jupyter 1.0.0
matplotlib 3.7.1
jupytext 1.15.0
openpyxl 3.0.10
openai 0.27.8
//-------------------------------------------------------...
* PySCF 1.7.6 [#n65cc2ed]
* PyEDB [#yc6e6291]
* jupyter notebookの利用 [#u0638fc5]
//-------------------------------------------------------...
* kalmia.eit.hirosaki-u.ac.jp の構成(2025/05/27現在) [#...
Frontend nodes
kalmia.eit.hirosaki-u.ac.jp: i7-13700K (P8E8core) HT d...
Compute nodes
c101.local: i5 (4core) 利用可なメモリ約14GB
c102.local: i5 (4core) 利用可なメモリ約14GB
c103.local: i5 (4core) 利用可なメモリ約14GB
c104.local: i5 (4core) 利用可なメモリ約14GB
c105.local: i5 (4core) 利用可なメモリ約14GB
詳細なスペック
kalmia c101 ...
-------------- -------------- ...
cpu i7-13700K i5-3470 ...
P8E8(HT,disa) 4(noHT) ...
P5.30,E4.20GHz 3.60GHz ...
-- -- ...
発売日 Q4'22 Q2'12 ...
リソグラフィー ? 22nm ...
最大メモリー帯域幅 89.6GB/s 25.6GB/s ...
命令セット拡張 SSE4.1,SSE4.2,AVX2 SSE4.1,SSE4.2,A...
メモリ DDR5-5200,32GB DDR3-1600,16GB ...
MB PRIME B760M-K-CSM ? ...
HDD NVMe6TB, HDD8.5TB -- ...
MB BIOS ver ? ? ...
ケース sharkoon SHA-VS7 ? ...
VC Geforce RTX 4070 ? ...
VENTUS 2X 12G OC ...
電源 750W/85+ ? ...
c105
-------------- -------------- ...
cpu i5-3470
4(noHT)
3.60GHz
--
発売日 Q2'12
リソグラフィー 22nm
最大メモリー帯域幅 25.6GB/s
命令セット拡張 SSE4.1,SSE4.2,AVX
メモリ DDR3-1600,16GB
MB ?
HDD --
MB BIOS ver ?
ケース ?
VC ?
電源 ?
* hydrangea.eit.hirosaki-u.ac.jp の構成(2025/04/30現在)...
テスト用
Frontend nodes
hydrangea.eit.hirosaki-u.ac.jp: i7-5960X (8core) HT di...
Compute nodes
c101.local: i3 (2core)
c102.local: i7 (8core)
詳細なスペック
hydrangea c101 ...
-------------- -------------- ...
cpu i5-5960X i3 ...
8core(HT,disa)
3.00GHz
--
発売日 Q3'14
リソグラフィー 22nm
最大メモリー帯域幅 68GB/s
命令セット拡張 SSE4.2,AVX2
メモリ DDR4-3200,32GB空有
MB X99-M WS SE
HDD NVMe500GB,HDD6.5TB
MB BIOS ver 4001(2019/08/01)
ケース ANTEX P100(ATX)
VC Geforce GTX 1650
4GT LP
電源 In-win CB1250W(80+)
//-------------------------------------------------------...
* 新規ユーザの追加方法、パスワードの変更方法 [#b6976fac]
$ sudo useradd -m -u UID uhoge #UIDはマシン間で統一
$ sudo passwd uhoge
$ sudo wwsh file resync passwd shadow group #ユーザ追...
$ sudo pdsh -w c10[1-5] /warewulf/bin/wwgetfiles #DB情...
(ERROR: wwgetfiles already running が出るときがある...
→[[LABO/研究室のアカウントの作り方>https://orange.eit.hir...
パスワード変更はフロントエンドで、
$ passwd
をし、sudoか rootユーザが
$ sudo wwsh file resync passwd shadow group #5分毎で自動
をするものと思われる。
rootユーザのパスワード変更もpasswdをして、wwsh file resy...
と思われる。
//-------------------------------------------------------...
* その他 [#j0ea65d0]
** 用語・備忘録 [#n27489ff]
BOS base operating system, OSのこと
SMS system management server, 管理サーバー(計算ノード...
VNFS virtual node file system, 物理的な計算ノードをSMS...
MBC baseboard management controller, サーバー用マザー...
IPMI Intelligent Platform Management Interface, MBCなど...
フロントエンド 計算ノードにバッチ処理をさせるためのサー...
Nouveau(ヌーヴォー) LinuxカーネルのオープンソースNVIDIA...
** clush,pdsh(複数ホストでのコマンドの並列実行) [#feb3df2d]
$ clush -g compute -L 'hostname; uptime' #計算ノードのみ
$ clush -g all -L 'hostname; uptime' #フロントエン...
$ pdsh -w 'c10[1,2],kalmia' 'hostname; uptime'
$ pdsh -w 'c10[1,2],kalmia' 'hostname; uptime' | dshbak ...
** module [#n4e1f82c]
module avail #利用可能なモジュールを表示(ロード状態...
module overview #モジュール名と数(ver違い)だけ表示
module show gnu13 #モジュールのロードで、どのように環...
module list #読み込んでいるモジュール
module load gnu13 #モジュールのロード
module unload gnu13 #読み込んだモジュールの破棄
module purge #読み込んだすべてのモジュールの破棄
//-------------------------------------------------------...
** slurmの使い方 [#ve2b05af]
*** sinfo, scontrol [#j131b46f]
パーティション・ノード数など表示
$ sinfo -s
$ sinfo -al
他のオプション
--help や --usage
-V バージョン
-a 全てのパーティション
-l もっと情報表示
-R ダウン等にあるノードと理由を表示
$ scontrol show partition [パーティション名] #...
$ scontrol show nodes [ノード名(計算ノードホスト名)] #...
$ scontrol show JOBID #ジョブの状況表示
なぜか走らないときなどは次を確認など。
- Reason=Resources のとき、単にリソース待ち
- Reason=PartitionConfig のとき、リソースを超えた要...
*** sbatch [#xfddb62f]
サブミットする
$ sbatch [-p キュー(パーティション)] [-N ノード数] [-w ...
[-n プロセス(タスク)数] [-c スレッド数/プロセス...
他のオプションなど
--help や --usage
-J JOBNAME ジョブ名指定(デフォルトはスクリプト名)
Gresプラグインが追加されていると、GPUリソースのスケ...
-Nのノード数は指定しなくても自動的に決められるようだ。
例) sbatch -w 'c101,c102' jobscript.sh #ノードc101,c1...
sbatch -d afterany:152 jobscript.sh #ジョブID 152...
//-------------------------------------------------------...
** 設定関係 [#cd71ba78]
*** NICのWOL確認 [#r950c56a]
$ sudo clush -g all -L 'for n in `cd /sys/class/net; /bi...
echo $n; ethtool $n | grep Wake; done'
*** wwsh [#ca08708c]
$ sudo wwsh #wwshプロンプトで作業する場合
Warewulf> file list
Warewulf> node help #ヘルプ表示
Warewulf> pxe help
Warewulf> quit
wwsh provisionのオプションも、複数に分けて設定実行できる。
いくつかの表示(provision printと object print)
wwsh provision print c101 c102
wwsh object print c10[1,2] -p :all #provision printと...
wwsh object print c101 c102 -p :all
*** slurm.conf関係 [#nb1e5b9e]
[ref]
- https://www.hpc.co.jp/support/wp-content/uploads/sites/...
- https://qiita.com/daikumatan/items/fa6e2069adf828b3428c
- https://slurm.schedmd.com/sstat.html
ノードをshutdownしてもupのまま(STATEを見よ)。
/etc/slurm/slurm.conf の SlurmdTimeout=300 により、shutd...
5分後に down* になるようだ。*付きは何かの特別な状態を表...
ノードを立ち上げると downになる。(down*のときに、フロン...
自動的には簡単に idelにはならない?ので明示的に指定する...
$ sudo scontrol update NodeName=c10[1-2],kalmia state=idle
slurm.confで State=UNKNOWN にしているからか?
stateに resumeというもものある(ジョブが無い時に自動...
起動する状態らしい)。
slurm.confの変更を反映させるのは、これでよさげ。
$ sudo systemctl restart slurmctld
$ sudo pdsh -w 'c10[1,2],hydrangea' "systemctl restart ...
$ scontrol show config
GroupUpdateTime = 600 sec
HealthCheckInterval = 300 sec
JobAcctGatherFrequency = 30
など情報表示
$ scontrol show node
$ scontrol show partition
[cf] https://slurm.schedmd.com/configurator.html slurm.co...
でない。何かの参考になる?)
//-------------------------------------------------------...
終了行:
#menu(LABO/MenuBar)
* LABO/RockyOHPC [#a02dfd8c]
#contents
** 一行メモ [#kbe38b35]
- ohpcパッケージの展開後のファイルに、gangliaの設定ファイ...
- 現在、ファイヤーウォールで最小限に閉じている。開けると...
-- sudo firewall-cmd --add-port=8801/tcp --zone=external...
- https://github.com/openhpc/ohpc/wiki/ -- &new{2024-09-...
-- https://openhpc.community/ OpenHPCコミュニティー
-- https://lists.openhpc.community/g/users
-- https://lists.openhpc.community/g/users/topics?sidebar...
- CentOS7とRockyのちがい -- &new{2024-10-08 (火) 22:14:5...
- yum -> dnf 引数はほぼ同じ
https://atmarkit.itmedia.co.jp/ait/articles/2001/09/n...
https://qiita.com/yasushi-jp/items/0dc7f413632927f92286
- service,chkconfig -> systemctl
- firewall-cmd(+iptables) -> firewall-cmd(+nftables)
- ext4 -> xfs
- ifconfig -> ip address
- RH9ドキュメント https://docs.redhat.com/ja/documentatio...
- taskset -cp 6717 #PID 6717がどのCPUコアを使っているか...
- echo "1min 5min 15min running/total last_pid"; pdsh...
- { echo "1min 5min 15min running/total last_pid"; cl...
#comment
//-------------------------------------------------------...
* 簡単な使い方 [#l1e3af70]
** kalmia (Rocky OpenHPCクラスタ) の概要 [#c2bbef7f]
*** 利用方法 [#gd2e51cf]
ssh等でフロントエンドの kalmia.eit.hirosaki-u.ac.jp にリ...
または、コンソールからログインする。
実行したいプログラムは、フロントエンド(kalmia)からsbatch...
フロントエンドか、計算ノード(cNNN)で実行させる。通常、計...
sbatchで実行させるためには、実行手順を記述したシェルスク...
(ジョブスクリプトやサブミットスクリプトなどと呼ばれる)。
スクリプトは、SLURMというジョブ管理システムにより取り扱わ...
スクリプトやスクリプトの内容を、ジョブや、計算ジョブ、バ...
スクリプト内に、スクリプト自身をどのようにのように実行さ...
SLURMのオプション(下記例のように #SBATCHによる指定行)を含...
ジョブは非対話処理であるため、実行時にキーボードからの入...
その場合は、入力リダイレクションか、ヒアドキュメントを使...
ログインディレクトリは /home/hogehoge である(計算ノード...
/opt/appsディレクトリには、いくつかのソフトウェアをインス...
また、/workも利用できる。
kalmiaでは、/homeと/opt/apps, /workはフロントエンドにあり、
各計算ノードはNFSによってそれらのディレクトリを利用してい...
*** ディスク容量 [#xd5c6e5b]
/ 200GB NVMe,LVM
/home 5.8TB NVMe,LVM
/work 2.2TB HDD,LVM(ストライピング数3)
/bkup 5.9TB HDD,LVM,/と/homeのバックアップ用
//-------------------------------------------------------...
** ジョブのサブミット方法 [#y65c545c]
*** ジョブの実行 [#jb842ec4]
フロントエンドからジョブスクリプトを、実行したいキュー, S...
sbatchで投入する形で実行させる(下記参照)。
ジョブをキューに投入することをサブミットと呼ぶ。
なお、フロントエンドでキュー以外では重たいプログラムは実...
*** キュー(パーティション)の種類 [#z477a4cd]
- all.p : 全計算ノードとフロントエンドを含むキュー
//:|全計算ノードとフロントエンドを含むキュー。
- compute.p : 全計算ノード(現在c101~c105)を含むキュー
//:|全計算ノード(現在c101,c102)を含むキュー。
*** サブミット例(シリアルジョブ) [#db59d959]
例えば &ref(testPrime.c); がカレントディレクトリにあると...
$ gcc testPrime.c -o testPrime.x
$ ./testPrime.x
input number (max:9223372036854775807)> 60000
input print interval> 1000
print prime numbers up to 60000 th with interval 1000
Prime Number 1000 th: 7919
Prime Number 2000 th: 17389
...
Prime Number 59000 th: 732923
Prime Number 60000 th: 746773
DONE: up to 60000 th ( examined between 2 to 746773 )
real time: 40 sec
次の内容で testPrime.shを作る。最初の#SBATCHの行はどのよ...
である。-- jobs -- の部分の前半は、sysName変数などを設定...
後半部分はプログラムを実行させ、結果をリダイレクションで ...
リダイレクションしない場合は、testPrime.sh.oNNNというファ...
#!/bin/bash
# ver 1.0 script for slurm
#SBATCH -p compute.p -w c101 #queue(partition) [-w hosts...
#SBATCH -N 1 #num of node; SLURM_NNODES
#SBATCH -n 1 #num of process(task); SLURM_NTASKS ...
#SBATCH -c 1 #num of thread in process; SLURM_CPUS_PE...
#SBATCH -o %x.o%j # output stdout and stderr into .oNNN
#SBATCH -e %x.o%j
# -- jobs ------------------------------
sysName=`basename $0 ".sh"`
[ $sysName = "slurm_script" ] && sysName=`basename ${SL...
s_s_host=${SLURM_SUBMIT_HOST:-C}
OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK:-1}
export OMP_NUM_THREADS
echo ${s_s_host%%.*} ${HOSTNAME%%.*} > $sysName.out
date >> $sysName.out
./testPrime.x <<EOF >> $sysName.out
60000
1000
EOF
# --------------------------------------
サブミットは
$ sbatch testPrime.sh
とする。サブミットすると JOB IDが割り当てられる。
前半部分のsysName変数などの設定は、ジョブスクリプト名を r...
実行すると($ sbatch runPrime.sh)、runPrime.outに結果が保...
キューでなくコマンドラインからでも同じように実行($ ./runP...
また、並列化に関する変数なども設定されている。
上記の例はシリアルジョブ(並列化していないジョブ)である。
通常のコンパイル・リンクで作ったプログラム(testPrime.xな...
並列化ジョブは、MPI並列化の場合はそのライブラリを使用して、
OpenMP並列化の場合はコンパイラのディレクティブを使用して...
そして、#SBATCHのオプションで node,task,threadの値を与え...
*** キューの込み具合の確認 [#z3677d2e]
現在、GUIのようなものは無いので、例えば以下のコマンドを使...
使用中や利用可のCPU数は allocatedや idleで確認できる。
$ sinfo -o "%.9P %5a %13C %.5D %10N %.9T |%38E"
PARTITION AVAIL CPUS(A/I/O/T) NODES NODELIST STA...
compute.* up 4/0/0/4 1 c102 allocat...
compute.* up 0/4/0/4 1 c101 id...
all.p up 4/0/0/4 1 c102 allocat...
all.p up 0/12/0/12 2 c101,kalmi id...
キュー内のジョブを表示する。
$ squeue -o "%.5i %9P %24j %.2t %.10M %.5D %.4C %8u %R"
JOBID PARTITION NAME ST TIME N...
35 all.p sample_optH2mb64g256t.in R 1:33 ...
各ノードの負荷を表示する(1)。
$ clush -g all -L 'uptime'
c101: 11:16:45 up 21:36, 0 users, load average: 0.00,...
c102: 11:16:46 up 21:35, 0 users, load average: 0.74,...
kalmia: 11:16:45 up 22 days, 35 min, 2 users, load av...
各ノードの負荷を表示する(2)。
$ pdsh -w 'c10[1,2],kalmia' 'uptime'
kalmia: 11:16:51 up 22 days, 35 min, 2 users, load av...
c102: 11:16:51 up 21:35, 0 users, load average: 0.76,...
c101: 11:16:51 up 21:36, 0 users, load average: 0.00,...
*** サブミットしたジョブのキャンセル [#c97115e6]
$ scancel JOBID
*** OpenMP並列ジョブ [#p09af6c4]
SBATCH -c でスレッド数を指定する(SBATCH -N とSBATCH -n ...
プログラムはOpenMPディレクティブを使用して作ったもの。
*** フラットMPI並列(MPI並列)ジョブ [#hb314cd3]
SBATCH -N でノード数を指定する(SBATCH -n とSBATCH -c は ...
プログラムはMPIライブラリを使用して作ったもの。
プログラムの実行は mpirun PROGRAM などとする。
*** ハイブリッドMPI並列(MPI/OpenMP並列)ジョブ [#ge28fe13]
SBATCH -N でノード数を指定し、
SBATCH -n でプロセス数を指定(ノード数と同じ数)し、
SBATCH -c でスレッド数を指定する。
プログラムはOpenMPとMPIで作ったもので、実行は mpirun PROG...
*** salloc(対話ジョブ) [#qed61d0a]
$ salloc -p all.p -w c101,c102 -N 2 -n 8 -c 1 #例、オプ...
終了は exit
次のように mpirunコマンドなどもsbatchと同じく利用できる。
mpirun PROGRAM
prun PROGRAM #主にMPI用、mpirunよりもこちらを推奨ら...
srun PROGRAM #ネイティブコマンドらしい(さらに高機能)
//-------------------------------------------------------...
* pythonの利用(anaconda版) [#nf6e02b6]
** python 3.7.0 [#td34363d]
$ source /opt/apps/anaconda3.bash_conda #py370
$ conda list #インストールされているパッケージの一覧表示
主なもの
numpy 1.21.5
scipy 1.7.3
h5py 2.10.0
jupyter 1.0.0
matplotlib 3.5.3
jupytext 1.15.0
** python 3.9.13 [#a4e2103e]
$ source /opt/apps/anaconda3.bash_conda; conda activate ...
$ conda list #インストールされているパッケージの一覧表示
主なもの
numpy 1.25.0
scipy 1.10.1
h5py 3.7.0
jupyter 1.0.0
matplotlib 3.7.1
jupytext 1.15.0
openpyxl 3.0.10
openai 0.27.8
//-------------------------------------------------------...
* PySCF 1.7.6 [#n65cc2ed]
* PyEDB [#yc6e6291]
* jupyter notebookの利用 [#u0638fc5]
//-------------------------------------------------------...
* kalmia.eit.hirosaki-u.ac.jp の構成(2025/05/27現在) [#...
Frontend nodes
kalmia.eit.hirosaki-u.ac.jp: i7-13700K (P8E8core) HT d...
Compute nodes
c101.local: i5 (4core) 利用可なメモリ約14GB
c102.local: i5 (4core) 利用可なメモリ約14GB
c103.local: i5 (4core) 利用可なメモリ約14GB
c104.local: i5 (4core) 利用可なメモリ約14GB
c105.local: i5 (4core) 利用可なメモリ約14GB
詳細なスペック
kalmia c101 ...
-------------- -------------- ...
cpu i7-13700K i5-3470 ...
P8E8(HT,disa) 4(noHT) ...
P5.30,E4.20GHz 3.60GHz ...
-- -- ...
発売日 Q4'22 Q2'12 ...
リソグラフィー ? 22nm ...
最大メモリー帯域幅 89.6GB/s 25.6GB/s ...
命令セット拡張 SSE4.1,SSE4.2,AVX2 SSE4.1,SSE4.2,A...
メモリ DDR5-5200,32GB DDR3-1600,16GB ...
MB PRIME B760M-K-CSM ? ...
HDD NVMe6TB, HDD8.5TB -- ...
MB BIOS ver ? ? ...
ケース sharkoon SHA-VS7 ? ...
VC Geforce RTX 4070 ? ...
VENTUS 2X 12G OC ...
電源 750W/85+ ? ...
c105
-------------- -------------- ...
cpu i5-3470
4(noHT)
3.60GHz
--
発売日 Q2'12
リソグラフィー 22nm
最大メモリー帯域幅 25.6GB/s
命令セット拡張 SSE4.1,SSE4.2,AVX
メモリ DDR3-1600,16GB
MB ?
HDD --
MB BIOS ver ?
ケース ?
VC ?
電源 ?
* hydrangea.eit.hirosaki-u.ac.jp の構成(2025/04/30現在)...
テスト用
Frontend nodes
hydrangea.eit.hirosaki-u.ac.jp: i7-5960X (8core) HT di...
Compute nodes
c101.local: i3 (2core)
c102.local: i7 (8core)
詳細なスペック
hydrangea c101 ...
-------------- -------------- ...
cpu i5-5960X i3 ...
8core(HT,disa)
3.00GHz
--
発売日 Q3'14
リソグラフィー 22nm
最大メモリー帯域幅 68GB/s
命令セット拡張 SSE4.2,AVX2
メモリ DDR4-3200,32GB空有
MB X99-M WS SE
HDD NVMe500GB,HDD6.5TB
MB BIOS ver 4001(2019/08/01)
ケース ANTEX P100(ATX)
VC Geforce GTX 1650
4GT LP
電源 In-win CB1250W(80+)
//-------------------------------------------------------...
* 新規ユーザの追加方法、パスワードの変更方法 [#b6976fac]
$ sudo useradd -m -u UID uhoge #UIDはマシン間で統一
$ sudo passwd uhoge
$ sudo wwsh file resync passwd shadow group #ユーザ追...
$ sudo pdsh -w c10[1-5] /warewulf/bin/wwgetfiles #DB情...
(ERROR: wwgetfiles already running が出るときがある...
→[[LABO/研究室のアカウントの作り方>https://orange.eit.hir...
パスワード変更はフロントエンドで、
$ passwd
をし、sudoか rootユーザが
$ sudo wwsh file resync passwd shadow group #5分毎で自動
をするものと思われる。
rootユーザのパスワード変更もpasswdをして、wwsh file resy...
と思われる。
//-------------------------------------------------------...
* その他 [#j0ea65d0]
** 用語・備忘録 [#n27489ff]
BOS base operating system, OSのこと
SMS system management server, 管理サーバー(計算ノード...
VNFS virtual node file system, 物理的な計算ノードをSMS...
MBC baseboard management controller, サーバー用マザー...
IPMI Intelligent Platform Management Interface, MBCなど...
フロントエンド 計算ノードにバッチ処理をさせるためのサー...
Nouveau(ヌーヴォー) LinuxカーネルのオープンソースNVIDIA...
** clush,pdsh(複数ホストでのコマンドの並列実行) [#feb3df2d]
$ clush -g compute -L 'hostname; uptime' #計算ノードのみ
$ clush -g all -L 'hostname; uptime' #フロントエン...
$ pdsh -w 'c10[1,2],kalmia' 'hostname; uptime'
$ pdsh -w 'c10[1,2],kalmia' 'hostname; uptime' | dshbak ...
** module [#n4e1f82c]
module avail #利用可能なモジュールを表示(ロード状態...
module overview #モジュール名と数(ver違い)だけ表示
module show gnu13 #モジュールのロードで、どのように環...
module list #読み込んでいるモジュール
module load gnu13 #モジュールのロード
module unload gnu13 #読み込んだモジュールの破棄
module purge #読み込んだすべてのモジュールの破棄
//-------------------------------------------------------...
** slurmの使い方 [#ve2b05af]
*** sinfo, scontrol [#j131b46f]
パーティション・ノード数など表示
$ sinfo -s
$ sinfo -al
他のオプション
--help や --usage
-V バージョン
-a 全てのパーティション
-l もっと情報表示
-R ダウン等にあるノードと理由を表示
$ scontrol show partition [パーティション名] #...
$ scontrol show nodes [ノード名(計算ノードホスト名)] #...
$ scontrol show JOBID #ジョブの状況表示
なぜか走らないときなどは次を確認など。
- Reason=Resources のとき、単にリソース待ち
- Reason=PartitionConfig のとき、リソースを超えた要...
*** sbatch [#xfddb62f]
サブミットする
$ sbatch [-p キュー(パーティション)] [-N ノード数] [-w ...
[-n プロセス(タスク)数] [-c スレッド数/プロセス...
他のオプションなど
--help や --usage
-J JOBNAME ジョブ名指定(デフォルトはスクリプト名)
Gresプラグインが追加されていると、GPUリソースのスケ...
-Nのノード数は指定しなくても自動的に決められるようだ。
例) sbatch -w 'c101,c102' jobscript.sh #ノードc101,c1...
sbatch -d afterany:152 jobscript.sh #ジョブID 152...
//-------------------------------------------------------...
** 設定関係 [#cd71ba78]
*** NICのWOL確認 [#r950c56a]
$ sudo clush -g all -L 'for n in `cd /sys/class/net; /bi...
echo $n; ethtool $n | grep Wake; done'
*** wwsh [#ca08708c]
$ sudo wwsh #wwshプロンプトで作業する場合
Warewulf> file list
Warewulf> node help #ヘルプ表示
Warewulf> pxe help
Warewulf> quit
wwsh provisionのオプションも、複数に分けて設定実行できる。
いくつかの表示(provision printと object print)
wwsh provision print c101 c102
wwsh object print c10[1,2] -p :all #provision printと...
wwsh object print c101 c102 -p :all
*** slurm.conf関係 [#nb1e5b9e]
[ref]
- https://www.hpc.co.jp/support/wp-content/uploads/sites/...
- https://qiita.com/daikumatan/items/fa6e2069adf828b3428c
- https://slurm.schedmd.com/sstat.html
ノードをshutdownしてもupのまま(STATEを見よ)。
/etc/slurm/slurm.conf の SlurmdTimeout=300 により、shutd...
5分後に down* になるようだ。*付きは何かの特別な状態を表...
ノードを立ち上げると downになる。(down*のときに、フロン...
自動的には簡単に idelにはならない?ので明示的に指定する...
$ sudo scontrol update NodeName=c10[1-2],kalmia state=idle
slurm.confで State=UNKNOWN にしているからか?
stateに resumeというもものある(ジョブが無い時に自動...
起動する状態らしい)。
slurm.confの変更を反映させるのは、これでよさげ。
$ sudo systemctl restart slurmctld
$ sudo pdsh -w 'c10[1,2],hydrangea' "systemctl restart ...
$ scontrol show config
GroupUpdateTime = 600 sec
HealthCheckInterval = 300 sec
JobAcctGatherFrequency = 30
など情報表示
$ scontrol show node
$ scontrol show partition
[cf] https://slurm.schedmd.com/configurator.html slurm.co...
でない。何かの参考になる?)
//-------------------------------------------------------...
ページ名: