[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#menu(LABO/MenuBar)
* LABO/Rocks [#f0656a23]
(注) 特に記載がない限り alliumにインストールされている Ro...
#contents
** 一行メモ [#md510a47]
- ジョブ実行中にディスクフルになっても、ジョブは走り続け...
- compute-0-4のパーティションが他と異なる。 2019-04-30 ->...
(0-4には /state/partition1が無いので注意。手動で作れば...
$ rocks run host command='hostname; df -h|grep ^/dev'
compute-0-1.local
/dev/sda1 16G 3.0G 12G ...
/dev/sda2 7.8G 135M 7.3G ...
/dev/sda5 434G 73M 412G ...
compute-0-2.local
/dev/sda1 16G 3.0G 12G ...
/dev/sda2 7.8G 132M 7.3G ...
/dev/sda5 434G 73M 412G ...
compute-0-3.local
/dev/sda1 16G 3.0G 12G 2...
/dev/sda2 3.8G 175M 3.5G ...
/dev/sda5 439G 71M 416G ...
compute-0-4.local
/dev/sda2 429G 3.2G 404G ...
- systemctl list-unit-files --type=service #定義されてい...
- systemctl stop iptables で止めることができるが、systemc...
ポートの開け方はBase Users Guideを見よ -- &new{2020-03-1...
- ただのシェルスクリプトをqsubする例 -- &new{2020-03-20 ...
qsub -S /bin/bash -q all.q@compute-0-2 -cwd -j y -pe smp...
#なお、先頭が数字のファイル名であるスクリプトは投入で...
#スクリプトの中のプログラムがOpenMPで4並列しているので...
- ジョブスクリプトに、オプション以外で、下の方に偶然に#$...
- allium gromacsは SSE4.1でコンパイルしている。AVX_256で...
- キューイングシステムの一般的な説明 [[www.iwata-system-s...
- alliumにインストールされているblasのバージョン -- &new...
$ yum list installed | grep -i blas
$ yum info blas
Arch : x86_64
Version : 3.4.2
Release : 8.el7
- 対話処理は qlogin -q pan.q@compute-0-3 -pe smp 1 などと...
- Out of memoryでジョブがコケているときは、その計算ノード...
- アプリケーションが計算ノードの物理メモリ量のギリギリを...
compute-0-4 2022 Feb 11 06:10から10分以内にダウンし、電...
saXXの日付を見て、ダウンしたときのsa11と、正常と思われる...
sarで全体像、sar -q でロードアベレージ、sar -W でスワッ...
sa11で、1秒間にスワップインが7千回、スワップアウトが2...
正常と思われるsa05でも、平均で小さくなっているが、ある期...
(参考 http://www.tkweblife.com/wordpress/2016/09-19-7037...
- frontendが停電で落ちると、gangliaのデータは4日分程失わ...
- 2022/07/05 14:50頃 おそらく雷によるサージのため compute...
- 注意:sshログインのときにパスワード又はログイン名を4回...
- while [ 1 ]; do paste <(cat /proc/cpuinfo | grep MHz |...
- 2023/03/01 13:49ころ spiraea compute-0-3がリブートして8...
- for node in 0 1 2 3 4 5 8 9 10 11 12 13 21 22 ; do echo...
- for i in 0 1 2 3 4 5 8 9 10 11 12 13 21 22 ; do scp /...
- for dir in /state/partition1/home/* ; do d=${dir##*/}; ...
- キューで、PcoreとEcoreをどう切り分けて使う? -- &new{2...
- 卒業生が使っていたディレクトリ(/{home,save}/loginname) ...
- qstat -g c; qstat -g t -u '*' #お薦め1 -- &new{2023...
- gromacs (2020.4版) が/share/appsにあり。 -- &new{2023-...
- ParaViewで/homeから多量のデータを読み込んで、sarコマン...
-- 主にsdaから読込まれる。9割sda、1割ほどsdbから読込ま...
-- sar -dp -s 11:00:00 -e 11:30:00 よりも sar -d 2 の方...
RAIDアレイ(メモ)
md127 /
md126 swap
md124 /home
-- 読込みで ExtractSubsetフィルタを使うと 134006*512byte/...
キャッシュは明らかに使われているようであるが、挙動がよく...
-- 表示速度のマイナーな要因として、swapへの書出しが起こる...
遅くなることが起こっているようだ。
-- cat pk2ele_FEM_long.trj > /dev/null をしたところ、
WD20EFPX(内部転送速度は最大180MB/s)で実測は最大約148MB/...
→SSDにすると3倍程度速くなりそうだ。
- https://www.open-mpi.org/faq/?category=running -- &new...
- https://en.wikipedia.org/wiki/Rocks_Cluster_Distributio...
- anaconda 3.7.0と 3.9.13 仮想環境を作り直した。 -- &new...
- https://github.com/rc-ucr Rocksclusters Unofficial Comm...
-- ISO-images から kernel-7.2.0-UCR.x86_64.disk1.iso (イ...
- 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
- compute-0-[1234]で一時的に、overcommit_{ratio,memory}を...
(設定)
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; echo...
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; echo...
(確認)
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; cat ...
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; cat ...
もし、永続的にする場合は
/etc/sysctl.confに
vm.overcommit_ratio = 100
vm.overcommit_memory = 2
を追加し、必要なら sysctl -p する。
(メモ)
$ rocks run host command='hostname; cat /etc/sysctl.conf...
compute-0-0: down
compute-0-1.local
kernel.shmmax = 12523044864
compute-0-10: down
compute-0-11: down
compute-0-12: down
compute-0-13: down
compute-0-2.local
kernel.shmmax = 12525898752
compute-0-22.local
kernel.shmmax = 101253236736
compute-0-21.local
kernel.shmmax = 101253239808
compute-0-3.local
kernel.shmmax = 12525898752
compute-0-4.local
kernel.shmmax = 12551064576
compute-0-5: down
compute-0-8: down
compute-0-9: down
- OOMスコアを調べる -- &new{2024-11-08 (金) 18:26:22};
for f in /proc/*/oom_score ; do echo $f: `cat $f` ; do...
- sample_H2mb64g64_c2.inpの実行時間比較(SHA1 6b03d60使用...
compute-0-3(4コア) 2870 sec = 0.8 hour
compute-0-12(2コア) 3989 sec = 1.1 hour
compute-0-0(8コア) 5796 sec = 1.6 hour
compute-0-5(4コア) 3744 sec = 1.0 hour
compute-0-21(8Pコア,他ジョブ無し) 780 sec = 0.2 ...
compute-0-22(16Eコア,他ジョブ無し) 1218 sec = 0.3 ...
compute-0-21(8Pコア,他16Eコアジョブ有) 758 sec = 0.2 ...
compute-0-21(16Eコア,他8Pコアジョブ有) 1223 sec = 0.3 ...
#comment
//-------------------------------------------------------...
* 簡単な使い方 [#a439b14b]
** allium(Rocks PCクラスタ)の概要 [#q8c19ebd]
*** 利用方法 [#raff300b]
ssh等でフロントエンドの allium.eit.hirosaki-u.ac.jp にリ...
実行したいプログラムは、フロントエンド(allium)からqsubコ...
計算ノード(compute-N-M)で実行させる。そのため、各計算ノー...
プログラムを実行するためには、実行手順を記述したシェルス...
(ジョブスクリプトやサブミットスクリプトなどと呼ばれる)。
スクリプトは、SGEというジョブ管理システムにより取り扱われ...
スクリプトやスクリプトで表される内容の事を、ジョブや、計...
スクリプト内に、どのように実行させるかのオプションを記述...
ジョブは非対話処理であるため、実行時にキーボードからの入...
必要ならば、入力リダイレクションか、ヒアドキュメントを使...
ログインディレクトリは /home/hogehoge である(計算ノード...
/share/appsディレクトリには、いくつかのソフトウェアをイン...
また、ディスク容量が足りない場合には /saveも利用できる
(/save/hogehogeディレクトリの作成などがrootユーザで設定...
alliumでは、/homeと/share, /saveはフロントエンドにあり、N...
ディレクトリを利用している。
*** 使用できるディスク容量 [#jd6be3f1]
/ 92GB Raid1
/home 1.7TB Raid1
/save 1.8TB Raid1 (予備)
** ジョブのサブミット方法 [#l838c9a2]
*** ジョブの実行(概略) [#i5a91d1a]
フロントエンドからジョブスクリプトを、実行したいキュー(...
ジョブをキューに投入することをサブミットと呼ぶ。
フロントエンドは計算ノードへのNFSサービスなどを行っている。
そのためフロントエンドでは重たいプログラムは実行しないこ...
*** ジョブの込み具合の確認(ganglia)、Rocksのマニュアル、 ...
・ジョブの込み具合(その他のalliumの状態含む)は、
http://allium.eit.hirosaki-u.ac.jp/ganglia/?c=allium&m=lo...
で確認できる。
・研究室外からは
https://orange.eit.hirosaki-u.ac.jp/allium/ganglia/?c=all...
で確認できる(ユーザ名とパスワードは、pptxとN...2..P...)。
webブラウザによって、正しくリンクが生成されない場合がある...
・http://allium.eit.hirosaki-u.ac.jp/
に、Rocksで用意されたシステムまわりのマニュアルなどがある。
研究室外からは
https://orange.eit.hirosaki-u.ac.jp/allium/
でアクセス可。
*** ジョブのサブミット [#w4316d4d]
qsub [-q QUEUE[@HOST]] [-pe PE N] submitscript # QUEUE...
# QUEUEでキューを指定、@HOSTでキュー内の実行するホスト...
# PE Nで並列環境とslots数を指定できる。
# @HOSTの代わりに @@GROUPでホストグループを指定できる...
# @HOSTはジョブスクリプト内でも、#$-l hostname=ホスト...
# QUEUE@HOSTは、queue@host1,queue@host2,queue@host3,.....
qsub -hold_jid 346 RUN.MD02 #JobID 346が終了してからジ...
#JobIDはコンマで複数並べた...
*** サブミットしたジョブのキャンセル [#qe664d59]
qdel jobID #ジョブのキャンセル
*** キューの空き具合や、サブミット済みのジョブの表示 [#d9...
qstat # ジョブを表示
qstat -f # ジョブを表示
# status auは、alarm unreachableの略である
qstat -u '*' # 全員の全てのジョブを表示
qstat -g c # キューの空き一覧
qstat -g t # 並列ジョブの各プロセス(タスク)も一覧
qstat -r # 拡張情報も表示する(Full jobname含む)
qstat -j [jobID] # ジョブのスケジューリングinfoを表示、
# jobIDを与えるとジョブの詳細を表示(...
例)
ワンライナーで実行
$ qstat -g c; qstat -g t -u '*' -r \
| sed -n '1,2p; /SLAVE/p; /MASTER\|^ *[0-9][0-9]*/{N;...
[sedのところの説明] 1,2行目と、SLAVEの行はそのまま表示し、
MASTERの次の行にFull jobnameが出力されているので、それを...
まだ走っていないときはMASTERもSLAVEも表示されないので、...
行のFull jobnameをつなげて表示させている。
aliasの定義
$ alias qs='qstat -g c; qstat -g t -u '\''*'\'' -r | sed...
STER\|^ *[0-9][0-9]*/{N; s/ *\n *Full jobname: */ /; p}...
functionの定義(上のaliasをバグフィックスして関数にした...
function qs
{
qstat -g c
qstat -g t -u '*' -r | sed -n '1,2p;
#/SLAVE/p;
/^ ...
#/MASTER/{N; s/ *\n *Full jobname: */ /; p};
/^ *[0-9][0-9]* .* [dEhqrRsStTwz][dEhqrRsStTw...
}
*** キューの種類 [#cdd1b76e]
特定の計算機で比較したい場合は、キュー名と同時にホスト名...
リソース制限(使用する計算時間やファイル容量等)は無制限...
- all.q
:|全計算ノードとフロントエンドを含むキュー。
デフォルトで用意されているキュー(%%使用禁止にしている 20...
単に qsub -q all.q で使うとどの計算機で実行されるか不定で...
そのため使用の際は実行するホストを指定する。
実行するホストは、緊急時を除いてフロントエンドを含めない...
//%%リソース制限(使用する計算時間やファイル容量等)は無...
- pan.q
:|compute-0-1, compute-0-2, compute-0-3, compute-0-4を束...
性能は4台とも同じだろう(ハードウェアは全く同じではない...
-cup.q
:|compute-0-8, compute-0-9, compute-0-10, compute-0-11, c...
性能は6台とも同じ。
:|
(注) メモリは4GBしかない。なお、ハイブリッド並列が出来る...
- pot.q
:|compute-0-21, compute-0-22を束ねたキュー。
性能は0-21が0-22より1〜3%程速い(CPUの個体差)。
:|
(注1) PcoreはEcoreより1.5倍程度速い。このキューでは、どち...
実行中も変わる。~
(注2) pot.q, potp.q, pote.qに関する注意事項。~
pot 1コア使われる -> potpと poteも 1コアずつ使われたと...
potp or pote 1コア使われる -> potも 1コアずつ使われたと...
のように設定されている(compute-0-21と 0-22のそれぞれにつ...
振る舞いはやや複雑であり、例を挙げると次のような挙動をす...
pot 8コア実行 -> potpも 8コア使用 ... 同ノードで空きは...
poteも 8コア使用 ... 同ノードで空きは...
potp 8コア実行 -> potも 8コア使用 ... 同ノードで空きは ...
poteは 0コア使用(poteで16コア利用可)~
2ノードあるため、全体としてどのキューが何コア利用可になる...
0-22へのジョブ割り当てに依存しており、予め予測は困難であ...
- potp.q
:|compute-0-21, compute-0-22のPcoreを束ねたキュー。
性能は0-21が0-22より1〜3%程速い(CPUの個体差)。
:|
(注) ジョブスクリプトに「task -p -c 0-7 $$」を入れること...
また、pot.qの(注2)も参照。
- pote.q
:|compute-0-21, compute-0-22のEcoreを束ねたキュー。
性能は0-21が0-22より少し速い?(未調査)。
:|
(注) ジョブスクリプトに「task -p -c 8-23 $$」を入れるこ...
また、pot.qの(注2)も参照。
(potp.qとpote.qについての注)
ひとつのノードでpotp.qとpote.qを同時にすべてのCPUコア(pot...
並列ジョブ(nameless.x)を走らせると、
potp.qとpote.qどちらかのみで走らせた並列ジョブと比べて、
potp.qのジョブは1.52倍遅くなり、pote.qのジョブは2.01倍遅...
(すべてのコアを使わなく、一部のコアだけ使った並列ジョブ...
なお、すべてのCPUコア(potp.qで8コア, pote.qで16コア)が使...
1コア当たり、EコアはPコアよりも2.88倍遅い。)
pote.qを動かすメリットはあまり無いようである(potp.qとpot...
potp.qで2本ジョブを順番に流す方が速い場合もあるし、遅く...
pote.qは並列数を増やした時のスケーリング調査には使える?
Table: 計測生データ 2024/06/03
| 実行の実時間
| (nameless.x, test_Hatom_Case012neg...
|------------------+---------------------...
| potp or poteのみ | potpとpote同時
--------------+------------------+---------------------...
8コアpote.q | 17.2h | 26.1h
16コアpote.q | 18.7h | 31.8h(この後半の5....
** ジョブのサブミット例 [#o55832cb]
シリアルジョブのジョブスクリプト(scriptSimpSamp1.sh)と、...
カレントディレクトリに用意しておき、
$ qsub scriptSimpSamp1.sh
とする。
scriptSimpSamp1.shは下記のシリアルジョブをコピペして作る...
testPrime.xは allium:/home/okazaki/util/test_compiler/tes...
gcc -o testPrime.x testPrime.c ~
して作る。
qsubのオプションはジョブスクリプトの中にも記述できる(両...
qsubオプションで指定した値が使われる)。
ジョブスクリプトの出力は
scriptSimpSamp1.sh.oNNN
のファイルに書き出される。
通常のコンパイル・リンクで作ったプログラム(testPrime.xな...
シリアルジョブ以外では、MPI並列はそのライブラリを使用して...
コンパイル・リンクしてプログラムを作る必要がある。
ジョブスクリプトの例(2018/12/02)
- シリアルジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe smp 1 # total num slots. NSLOTS is set to N of P...
OMP_NUM_THREADS=$NSLOTS # NSLOTS threads per process
export OMP_NUM_THREADS
#--- job -----------------------------------------------...
./testPrime.x
#-------------------------------------------------------...
- OpenMP並列ジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe smp 4 # total num slots. NSLOTS is set to N of P...
OMP_NUM_THREADS=$NSLOTS # NSLOTS threads per process
export OMP_NUM_THREADS
#--- job -----------------------------------------------...
./testPrime.x
#-------------------------------------------------------...
(注) -pe smp 4 の数字をスレッド数に合わせて変更する。
- フラットMPI並列(MPI並列)ジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe mpi 4 # total num slots. NSLOTS is set to N of P...
OMP_NUM_THREADS=1 # 1 thread per process
export OMP_NUM_THREADS
#--- job -----------------------------------------------...
mpirun ./testPrime.x
#-------------------------------------------------------...
(注) -pe mpi 4 の数字をプロセス数に合わせて変更する。
これでよいようだ。
- ハイブリッドMPI並列(MPI/OpenMP並列)ジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe mpismp4 8 # total num slots. NSLOTS is set to t...
OMP_NUM_THREADS=4 # num threads per process. must be N ...
export OMP_NUM_THREADS
if [ `expr $NSLOTS % $OMP_NUM_THREADS` != 0 ]; then
echo 'error: NSLOTS is not divisible by OMP_NUM_THRE...
exit 1
fi
numprocess=`expr $NSLOTS / $OMP_NUM_THREADS`
#--- job -----------------------------------------------...
mpirun -npernode 1 ./testPrime.x -nt $OMP_NUM_THREADS
#-------------------------------------------------------...
(注) スレッド数に合わせて -pe mpismp4 や OMP_NUM_THREADS...
-pe mpismp4 8 の 8は合計の並列数に変更する。
これでよいさそう?
→あやしい、4スレッドでの並列は良さそうではあるが。mpismp...
or
cat $PE_HOSTFILE | awk -v ont=$OMP_NUM_THREADS '{for(i=1...
mpirun -hostfile /tmp/hostfile.$JOB_ID -np $numprocess ....
(注) 問題点はある。ひとつのノードで複数のプロセスを実行...
後者が、いちばんまともに使えそうである。2021/03/01
//-------------------------------------------------------...
* allium.eit.hirosaki-u.ac.jp の構成(2023/03/10現在) [#...
Frontend nodes
allium.eit.hirosaki-u.ac.jp: i3-4150 (2core)
Compute nodes
compute-0-0.local: Xeon X5355 (4core)×2 遅いが、コア...
compute-0-1.local: i5 (4core)
compute-0-2.local: i5 (4core)
compute-0-3.local: i5 (4core)
compute-0-4.local: i5 (4core)
compute-0-5.local: i5 (4core) やや遅い
compute-0-6.local: なし(削除)
compute-0-7.local: なし(削除)
compute-0-8.local: i3 (2core) メモリが4GBと少ない
compute-0-9.local: i3 (2core) メモリが4GBと少ない
compute-0-10.local: i3 (2core) メモリが4GBと少ない
compute-0-11.local: i3 (2core) メモリが4GBと少ない
compute-0-12.local: i3 (2core) メモリが4GBと少ない
compute-0-13.local: i3 (2core) メモリが4GBと少ない
compute-0-21.local: i9 (8Pcore,16Ecore) PはEより1.5倍...
compute-0-22.local: i9 (8Pcore,16Ecore) PはEより1.5倍...
詳細なスペック
allium compute-0-0 compu...
-------------- -------------- -----...
cpu i3-4150 Xeon X5355×2 i5-345...
2core(no HT) 4core(no HT) 4core...
3.50GHz 2.66GHz 3.10G...
-- -3.50...
発売日 Q2'14 Q4'06 Q2'11...
リソグラフィー 22nm 65nm 22nm ...
最大メモリー帯域幅 25.6GB/s (HPに無し) 25.6G...
命令セット拡張 SSE4.1,SSE4.2, nothing SSE4....
AVX2 AVX ...
メモリ 16gb ? ?gb ? 16gb ...
MB ? ? gb B7...
HDD 2TB ×4 1TGB 500GB ...
MB BIOS ver ? ? F12 ...
ケース 黒大 黒大 Silve...
compute-0-4 compute-0-5 ...
-------------- -------------- -----...
cpu i5-3450 i5-760 ...
4core(no HT) 4core(no HT) ...
3.10GHz 2.80GHz ...
-3.50GHz -3.33GHz ...
発売日 Q2'11 Q3'10 ...
リソグラフィー 22nm 45nm ...
最大メモリー帯域幅 25.6GB/s 21GB/s ...
命令セット拡張 SSE4.1,SSE4.2, SSE4.2 ...
AVX ...
メモリ 16gb ? ?gb ? ...
MB gb B75M D3H gb B75M D3H ...
HDD 500GB 1TB ...
MB BIOS ver F6 ? ...
ケース SilverStone 黒大 ...
compute-0-9 compute-0-10 compu...
-------------- -------------- -----...
cpu i3-3240 i3-3240 i3-32...
2core(HT,nous) 2core(HT,nous) 2core...
3.40GHz 3.40GHz 3.40G...
-- -- -- ...
発売日 Q3'12 Q3'12 Q3'12...
リソグラフィー 22nm 22nm 22nm ...
最大メモリー帯域幅 25.6GB/s 25.6GB/s 25.6G...
命令セット拡張 SSE4.1,SSE4.2, SSE4.1,SSE4.2, SSE4....
AVX AVX AVX ...
メモリ 4gb ? 4gb ? 4gb ?...
MB ? ? ? ...
HDD 500GB(75GBwin) 500GB(75GBwin) 500GB...
MB BIOS ver ? ? ? ...
ケース HP6300 PC2 HP6300 PC3 HP630...
compute-0-21 compute-0-22
-------------- -------------- -----...
cpu i9-13900K i9-13900K
8Pcore HT,nous 8Pcore HT,nous
5.40GHz max 5.40GHz max
16Ecore no HT 16Ecore no HT
4.30GHz max 4.30GHz max
発売日 Q4'22 Q4'22
リソグラフィー 7nm 7nm
最大メモリー帯域幅 89.6GB/s 89.6GB/s
命令セット拡張 SSE4.1,SSE4.2, SSE4.1,SSE4.2,
AVX2 AVX2
メモリ 128gbDDR4-3200 128gbDDR4-3200
MB asusB760M-A D4 asusB760M-A D4
HDD 500GB(NVMe) 500GB(NVMe)
MB BIOS ver 0807 0807
ケース Thermaltake Thermaltake
注釈
(HT,nous): HT対応であるがBIOSでdisabledにしている。
(75GBwin): windows7のリカバリー領域を残している。(カ...
2020/04/01 旧compute-0-1, 旧compute-0-2 は compute-0-3...
表中の最大メモリー帯域幅はCPUの性能であるため、メモリ...
(メモ)
旧compute-0-1 旧compute-0-2
-------------- --------------
cpu i5-3470 i5-3470
4core(no HT) 4core(no HT)
3.20GHz 3.20GHz
-3.60GHz -3.60GHz
発売日 Q2'12 Q2'12
リソグラフィー 22nm 22nm
最大メモリー帯域幅 25.6GB/s 25.6GB/s
命令セット拡張 SSE4.1,SSE4.2, SSE4.1,SSE4.2,
AVX AVX
HDD 500GB 500GB
MB BIOS ver F14 F12
ケース SilverStone SilverStone
削除compute-0-6 削除compute-0-7
-------------- --------------
cpu celeron G1630 celeron G1630
2core(no HT) 2core(no HT)
2.80GHz 2.80GHz
-- --
発売日 Q3'13 Q3'13
リソグラフィー 22nm 22nm
最大メモリー帯域幅 21GB/s 21GB/s
命令セット拡張 SSE4.1,SSE4.2 SSE4.1,SSE4.2
HDD 500GB 500GB
MB BIOS ver F15 F15
ケース SilverStone SilverStone黒
旧clematis 旧spiraea c-0-3 旧spi...
-------------- -------------- ------...
cpu i7-3770 i7-5960X i7-10700
4core(HT,nous) 8core(HT,nous) 8core(...
3.90GHz max 3.50GHz max 4.80GH...
-- -- --
発売日 Q2'12 Q3'14 Q2'20
リソグラフィー 22nm 22nm 14nm
最大メモリー帯域幅 25.6GB/s 68GB/s 45.8GB/s
命令セット拡張 SSE4.1,SSE4.2, SSE4.2, SSE4.1...
AVX AVX2 AVX2
メモリ 64gbDDR3L-1600 64gbDDR4-3200 128gbD...
MB asus P8B75-M asusX99-mWsSe asrock...
HDD 2TB+2TB ? 500GB(...
MB BIOS ver 0812 ? P1.50
ケース 黒大 黒大 黒大
** Core i3,5,7,9の世代 [#g1fb07a4]
13 Raptor Lake
12 Alder Lake
11 Tiger Lake
10 CometLake, IceLake, Amber Lake
8,9 CoffeeLake, WhiskeyLake
7 Kaby Lake
6 Skylake
5 Broadwell
4 Haswell
3 IvyBridge
2 Sandy Bridge
1 Nehalem
//-------------------------------------------------------...
* 新規ユーザの作成方法、パスワードの変更方法 [#fcb5ad8b]
# useradd hogename
# passwd hogename
# rocks sync users # 少々時間がかかる
なお、hogenameの最初のログインまで、ホームディレクトリは...
→[[LABO/研究室のアカウントの作り方>https://orange.eit.hir...
パスワード変更はフロントエンドで、
$ passwd
をすることで可能のようだ。
(これで支障無く使えるが、計算ノードのパスワードは少なく...
411get --all コマンドをするまで変更されない)
rootユーザのパスワード変更もpasswdをして、411get --allを...
* 並列計算の仕方 [#nd9e04c3]
以下のファイルを参照のこと。
- 更新版
#ref(並列計算の仕方_20190417.docx)
- 旧版
~なし
//-------------------------------------------------------...
* PySCF 1.7.6 の利用 [#ve52e01c]
使用方法:
$ . /share/apps/pyscf.bash_pyscf
py370環境で PySCFが使えるようになる。
$ python
>>>> from pyscf import gto, scf
>>>> mol=gto.M(atom='H 0 0 0; H 0 0 1.2', basis='ccpvd...
>>>> mf=scf.RHF(mol)
>>>> mf.kernel()
また、
$ jupyter notebook --no-browser --port=8800 --ip=0.0.0.0
も使用可能(示されたURLをwebブラウザで開く)。
//-------------------------------------------------------...
* PyEDB の利用 [#pc5a1178]
リポジトリからクローンして、py370環境にしてから使う。
$ git clone ssh://idrepgit@ivy.eit.hirosaki-u.ac.jp/home...
(備考) /home/kota/masterなどは、/state/partition1/home/k...
//-------------------------------------------------------...
* jupyter notebookの利用 [#tdb7fe60]
py370またはpy3913環境にしたのち、
$ . /share/apps/anaconda3.bash_conda #py370の場合
$ jupyter notebook --no-browser --port=8800 --ip=0.0.0.0
をする。
そして、示されたURLをwebブラウザで開く。
- 8800ポートが使われていたら、番号がインクリメントされて...
- なぜか python3(ipykernel)は py370だとエラーになるように...
//-------------------------------------------------------...
* python 3.7.0 (anaconda版)の利用 [#k66d0330]
使用方法:
$ . /share/apps/anaconda3.bash_conda
このconda仮想環境名は py370 である。
インストールされているパッケージ
numpy 1.21.2
scipy 1.7.1
h5py 2.10.0
jupyter 1.0.0
matplotlib 3.5.0
jupytext 1.13.7
なお、
python3: symbol lookup error: /share/apps/anaconda3/envs...
platforms/../../lib/libQt5XcbQpa.so.5: undefined symbo...
が出る場合、
$ LD_PRELOAD=/share/apps/freetype-2.8/libfreetype.so.6 p...
などのようにする。
これは matplotlibのおそらく pyplotで QtAggバックエンド...
起因する。matplotlib.use( "TkAgg" ) をhogehoge.pyに入れ...
ようだ。
//-------------------------------------------------------...
* python 3.9.13 (anaconda版)の利用 [#j7655f5b]
使用方法:
$ . /share/apps/anaconda3.bash_conda ; conda activate ...
このconda仮想環境名は py3913 である。
インストールされているパッケージ
numpy scipy h5py
jupyter
matplotlib
jupytext
openpyxl
openai #2023/04/10追加
(備考) パッケージの追加方法は howto/pythonを見よ。
なお、py370と同様に、
python3: symbol lookup error: /share/apps/anaconda3/envs...
PyQt5/Qt5/plugins/platforms/../../lib/libQt5XcbQpa.so....
が出る場合、
$ LD_PRELOAD=/share/apps/freetype-2.8/libfreetype.so.6 p...
などのようにする。
または matplotlib.use( "TkAgg" ) を使う。
python3: relocation error: /share/apps/anaconda3/envs/py...
PyQt5/Qt5/plugins/platforms/../../lib/libQt5DBus.so.5:...
version LIBDBUS_1_3 not defined in file libdbus-1.so.3...
が出る場合は、
$ LD_PRELOAD=/share/apps/anaconda3/envs/py3913/lib/libdb...
などのようにする。
このエラーはおそらく pipでパッケージがインストールされ...
両方LD_PRELOADで指定する場合はコロンで並べる
$ LD_PRELOAD=/share/apps/freetype-2.8/libfreetype.so.6:/...
python3 hogehoge.py
//-------------------------------------------------------...
* 予備の仮想環境 [#r465b2d2]
py370rv, py3919rvを作った(/share/apps/anac3)。
//-------------------------------------------------------...
* リンク [#d5ece277]
**カテゴリなし [#vd8a9432]
- [[Rocksclusters website>http://www.rocksclusters.org/]]~
Rocksclusters website (Rocks 7.0がリリース)~
Mailinglist, Wiki, Documentation, Downloadsなどあり
//- [[%%www.rocksclusters.org | Rocks Website%%>http://ww...
//%%このページの説明はありません。%%
- [[npaci-rocks-discussion Info Page>https://lists.sdsc.e...
Rocksのメーリングリストの登録はここから。~
また、過去のアーカイブは site:lists.sdsc.edu をキーワード...
//- [[%%https://wiki.rocksclusters.org/%%>https://wiki.ro...
//%%無くなった?%%
//- [[Index of /roll-documentation>http://central6.rocksc...
//www.rocksclusters.orgのリンクから。
- [[Index of /roll-documentation>http://central-7-0-x86-6...
central-7-0-x86-64.rocksclusters.orgにあるRocks7のドキュ...
- [[Rocks · GitHub>https://github.com/rocksclusters]]~
このページの説明はありません。
- [[https://www.jstage.jst.go.jp/article/jccj/14/4/14_201...
末原茂, "PCクラスタ構築のためのオープンソースLinux OS:Roc...
//- [[Docs and Support>https://rocksclusters.github.io/do...
//Rocksclusters website ( rocksclusters.github.io )
- [[Son of Grid Engine>https://arc.liv.ac.uk/trac/SGE]]~
-- ここのページからのリンクで https://arc.liv.ac.uk/SGE/ ...
//-------------------------------------------------------...
** その他の情報 [#l528aca5]
- [[Rocks Cluster Distribution - Wikipedia>https://en.wik...
このページの説明はありません。
//- [[Home · rocksclusters/wiki Wiki · GitHub>https://git...
//The rocks wiki あまり情報は無い?
- [[KickStartその1(KickStartによるLinux自動インストール概...
0.関連記事一覧 1.はじめに 1.1KickStartとは 1.2...
終了行:
#menu(LABO/MenuBar)
* LABO/Rocks [#f0656a23]
(注) 特に記載がない限り alliumにインストールされている Ro...
#contents
** 一行メモ [#md510a47]
- ジョブ実行中にディスクフルになっても、ジョブは走り続け...
- compute-0-4のパーティションが他と異なる。 2019-04-30 ->...
(0-4には /state/partition1が無いので注意。手動で作れば...
$ rocks run host command='hostname; df -h|grep ^/dev'
compute-0-1.local
/dev/sda1 16G 3.0G 12G ...
/dev/sda2 7.8G 135M 7.3G ...
/dev/sda5 434G 73M 412G ...
compute-0-2.local
/dev/sda1 16G 3.0G 12G ...
/dev/sda2 7.8G 132M 7.3G ...
/dev/sda5 434G 73M 412G ...
compute-0-3.local
/dev/sda1 16G 3.0G 12G 2...
/dev/sda2 3.8G 175M 3.5G ...
/dev/sda5 439G 71M 416G ...
compute-0-4.local
/dev/sda2 429G 3.2G 404G ...
- systemctl list-unit-files --type=service #定義されてい...
- systemctl stop iptables で止めることができるが、systemc...
ポートの開け方はBase Users Guideを見よ -- &new{2020-03-1...
- ただのシェルスクリプトをqsubする例 -- &new{2020-03-20 ...
qsub -S /bin/bash -q all.q@compute-0-2 -cwd -j y -pe smp...
#なお、先頭が数字のファイル名であるスクリプトは投入で...
#スクリプトの中のプログラムがOpenMPで4並列しているので...
- ジョブスクリプトに、オプション以外で、下の方に偶然に#$...
- allium gromacsは SSE4.1でコンパイルしている。AVX_256で...
- キューイングシステムの一般的な説明 [[www.iwata-system-s...
- alliumにインストールされているblasのバージョン -- &new...
$ yum list installed | grep -i blas
$ yum info blas
Arch : x86_64
Version : 3.4.2
Release : 8.el7
- 対話処理は qlogin -q pan.q@compute-0-3 -pe smp 1 などと...
- Out of memoryでジョブがコケているときは、その計算ノード...
- アプリケーションが計算ノードの物理メモリ量のギリギリを...
compute-0-4 2022 Feb 11 06:10から10分以内にダウンし、電...
saXXの日付を見て、ダウンしたときのsa11と、正常と思われる...
sarで全体像、sar -q でロードアベレージ、sar -W でスワッ...
sa11で、1秒間にスワップインが7千回、スワップアウトが2...
正常と思われるsa05でも、平均で小さくなっているが、ある期...
(参考 http://www.tkweblife.com/wordpress/2016/09-19-7037...
- frontendが停電で落ちると、gangliaのデータは4日分程失わ...
- 2022/07/05 14:50頃 おそらく雷によるサージのため compute...
- 注意:sshログインのときにパスワード又はログイン名を4回...
- while [ 1 ]; do paste <(cat /proc/cpuinfo | grep MHz |...
- 2023/03/01 13:49ころ spiraea compute-0-3がリブートして8...
- for node in 0 1 2 3 4 5 8 9 10 11 12 13 21 22 ; do echo...
- for i in 0 1 2 3 4 5 8 9 10 11 12 13 21 22 ; do scp /...
- for dir in /state/partition1/home/* ; do d=${dir##*/}; ...
- キューで、PcoreとEcoreをどう切り分けて使う? -- &new{2...
- 卒業生が使っていたディレクトリ(/{home,save}/loginname) ...
- qstat -g c; qstat -g t -u '*' #お薦め1 -- &new{2023...
- gromacs (2020.4版) が/share/appsにあり。 -- &new{2023-...
- ParaViewで/homeから多量のデータを読み込んで、sarコマン...
-- 主にsdaから読込まれる。9割sda、1割ほどsdbから読込ま...
-- sar -dp -s 11:00:00 -e 11:30:00 よりも sar -d 2 の方...
RAIDアレイ(メモ)
md127 /
md126 swap
md124 /home
-- 読込みで ExtractSubsetフィルタを使うと 134006*512byte/...
キャッシュは明らかに使われているようであるが、挙動がよく...
-- 表示速度のマイナーな要因として、swapへの書出しが起こる...
遅くなることが起こっているようだ。
-- cat pk2ele_FEM_long.trj > /dev/null をしたところ、
WD20EFPX(内部転送速度は最大180MB/s)で実測は最大約148MB/...
→SSDにすると3倍程度速くなりそうだ。
- https://www.open-mpi.org/faq/?category=running -- &new...
- https://en.wikipedia.org/wiki/Rocks_Cluster_Distributio...
- anaconda 3.7.0と 3.9.13 仮想環境を作り直した。 -- &new...
- https://github.com/rc-ucr Rocksclusters Unofficial Comm...
-- ISO-images から kernel-7.2.0-UCR.x86_64.disk1.iso (イ...
- 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
- compute-0-[1234]で一時的に、overcommit_{ratio,memory}を...
(設定)
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; echo...
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; echo...
(確認)
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; cat ...
# for i in 1 2 3 4 ; do ssh compute-0-$i "hostname; cat ...
もし、永続的にする場合は
/etc/sysctl.confに
vm.overcommit_ratio = 100
vm.overcommit_memory = 2
を追加し、必要なら sysctl -p する。
(メモ)
$ rocks run host command='hostname; cat /etc/sysctl.conf...
compute-0-0: down
compute-0-1.local
kernel.shmmax = 12523044864
compute-0-10: down
compute-0-11: down
compute-0-12: down
compute-0-13: down
compute-0-2.local
kernel.shmmax = 12525898752
compute-0-22.local
kernel.shmmax = 101253236736
compute-0-21.local
kernel.shmmax = 101253239808
compute-0-3.local
kernel.shmmax = 12525898752
compute-0-4.local
kernel.shmmax = 12551064576
compute-0-5: down
compute-0-8: down
compute-0-9: down
- OOMスコアを調べる -- &new{2024-11-08 (金) 18:26:22};
for f in /proc/*/oom_score ; do echo $f: `cat $f` ; do...
- sample_H2mb64g64_c2.inpの実行時間比較(SHA1 6b03d60使用...
compute-0-3(4コア) 2870 sec = 0.8 hour
compute-0-12(2コア) 3989 sec = 1.1 hour
compute-0-0(8コア) 5796 sec = 1.6 hour
compute-0-5(4コア) 3744 sec = 1.0 hour
compute-0-21(8Pコア,他ジョブ無し) 780 sec = 0.2 ...
compute-0-22(16Eコア,他ジョブ無し) 1218 sec = 0.3 ...
compute-0-21(8Pコア,他16Eコアジョブ有) 758 sec = 0.2 ...
compute-0-21(16Eコア,他8Pコアジョブ有) 1223 sec = 0.3 ...
#comment
//-------------------------------------------------------...
* 簡単な使い方 [#a439b14b]
** allium(Rocks PCクラスタ)の概要 [#q8c19ebd]
*** 利用方法 [#raff300b]
ssh等でフロントエンドの allium.eit.hirosaki-u.ac.jp にリ...
実行したいプログラムは、フロントエンド(allium)からqsubコ...
計算ノード(compute-N-M)で実行させる。そのため、各計算ノー...
プログラムを実行するためには、実行手順を記述したシェルス...
(ジョブスクリプトやサブミットスクリプトなどと呼ばれる)。
スクリプトは、SGEというジョブ管理システムにより取り扱われ...
スクリプトやスクリプトで表される内容の事を、ジョブや、計...
スクリプト内に、どのように実行させるかのオプションを記述...
ジョブは非対話処理であるため、実行時にキーボードからの入...
必要ならば、入力リダイレクションか、ヒアドキュメントを使...
ログインディレクトリは /home/hogehoge である(計算ノード...
/share/appsディレクトリには、いくつかのソフトウェアをイン...
また、ディスク容量が足りない場合には /saveも利用できる
(/save/hogehogeディレクトリの作成などがrootユーザで設定...
alliumでは、/homeと/share, /saveはフロントエンドにあり、N...
ディレクトリを利用している。
*** 使用できるディスク容量 [#jd6be3f1]
/ 92GB Raid1
/home 1.7TB Raid1
/save 1.8TB Raid1 (予備)
** ジョブのサブミット方法 [#l838c9a2]
*** ジョブの実行(概略) [#i5a91d1a]
フロントエンドからジョブスクリプトを、実行したいキュー(...
ジョブをキューに投入することをサブミットと呼ぶ。
フロントエンドは計算ノードへのNFSサービスなどを行っている。
そのためフロントエンドでは重たいプログラムは実行しないこ...
*** ジョブの込み具合の確認(ganglia)、Rocksのマニュアル、 ...
・ジョブの込み具合(その他のalliumの状態含む)は、
http://allium.eit.hirosaki-u.ac.jp/ganglia/?c=allium&m=lo...
で確認できる。
・研究室外からは
https://orange.eit.hirosaki-u.ac.jp/allium/ganglia/?c=all...
で確認できる(ユーザ名とパスワードは、pptxとN...2..P...)。
webブラウザによって、正しくリンクが生成されない場合がある...
・http://allium.eit.hirosaki-u.ac.jp/
に、Rocksで用意されたシステムまわりのマニュアルなどがある。
研究室外からは
https://orange.eit.hirosaki-u.ac.jp/allium/
でアクセス可。
*** ジョブのサブミット [#w4316d4d]
qsub [-q QUEUE[@HOST]] [-pe PE N] submitscript # QUEUE...
# QUEUEでキューを指定、@HOSTでキュー内の実行するホスト...
# PE Nで並列環境とslots数を指定できる。
# @HOSTの代わりに @@GROUPでホストグループを指定できる...
# @HOSTはジョブスクリプト内でも、#$-l hostname=ホスト...
# QUEUE@HOSTは、queue@host1,queue@host2,queue@host3,.....
qsub -hold_jid 346 RUN.MD02 #JobID 346が終了してからジ...
#JobIDはコンマで複数並べた...
*** サブミットしたジョブのキャンセル [#qe664d59]
qdel jobID #ジョブのキャンセル
*** キューの空き具合や、サブミット済みのジョブの表示 [#d9...
qstat # ジョブを表示
qstat -f # ジョブを表示
# status auは、alarm unreachableの略である
qstat -u '*' # 全員の全てのジョブを表示
qstat -g c # キューの空き一覧
qstat -g t # 並列ジョブの各プロセス(タスク)も一覧
qstat -r # 拡張情報も表示する(Full jobname含む)
qstat -j [jobID] # ジョブのスケジューリングinfoを表示、
# jobIDを与えるとジョブの詳細を表示(...
例)
ワンライナーで実行
$ qstat -g c; qstat -g t -u '*' -r \
| sed -n '1,2p; /SLAVE/p; /MASTER\|^ *[0-9][0-9]*/{N;...
[sedのところの説明] 1,2行目と、SLAVEの行はそのまま表示し、
MASTERの次の行にFull jobnameが出力されているので、それを...
まだ走っていないときはMASTERもSLAVEも表示されないので、...
行のFull jobnameをつなげて表示させている。
aliasの定義
$ alias qs='qstat -g c; qstat -g t -u '\''*'\'' -r | sed...
STER\|^ *[0-9][0-9]*/{N; s/ *\n *Full jobname: */ /; p}...
functionの定義(上のaliasをバグフィックスして関数にした...
function qs
{
qstat -g c
qstat -g t -u '*' -r | sed -n '1,2p;
#/SLAVE/p;
/^ ...
#/MASTER/{N; s/ *\n *Full jobname: */ /; p};
/^ *[0-9][0-9]* .* [dEhqrRsStTwz][dEhqrRsStTw...
}
*** キューの種類 [#cdd1b76e]
特定の計算機で比較したい場合は、キュー名と同時にホスト名...
リソース制限(使用する計算時間やファイル容量等)は無制限...
- all.q
:|全計算ノードとフロントエンドを含むキュー。
デフォルトで用意されているキュー(%%使用禁止にしている 20...
単に qsub -q all.q で使うとどの計算機で実行されるか不定で...
そのため使用の際は実行するホストを指定する。
実行するホストは、緊急時を除いてフロントエンドを含めない...
//%%リソース制限(使用する計算時間やファイル容量等)は無...
- pan.q
:|compute-0-1, compute-0-2, compute-0-3, compute-0-4を束...
性能は4台とも同じだろう(ハードウェアは全く同じではない...
-cup.q
:|compute-0-8, compute-0-9, compute-0-10, compute-0-11, c...
性能は6台とも同じ。
:|
(注) メモリは4GBしかない。なお、ハイブリッド並列が出来る...
- pot.q
:|compute-0-21, compute-0-22を束ねたキュー。
性能は0-21が0-22より1〜3%程速い(CPUの個体差)。
:|
(注1) PcoreはEcoreより1.5倍程度速い。このキューでは、どち...
実行中も変わる。~
(注2) pot.q, potp.q, pote.qに関する注意事項。~
pot 1コア使われる -> potpと poteも 1コアずつ使われたと...
potp or pote 1コア使われる -> potも 1コアずつ使われたと...
のように設定されている(compute-0-21と 0-22のそれぞれにつ...
振る舞いはやや複雑であり、例を挙げると次のような挙動をす...
pot 8コア実行 -> potpも 8コア使用 ... 同ノードで空きは...
poteも 8コア使用 ... 同ノードで空きは...
potp 8コア実行 -> potも 8コア使用 ... 同ノードで空きは ...
poteは 0コア使用(poteで16コア利用可)~
2ノードあるため、全体としてどのキューが何コア利用可になる...
0-22へのジョブ割り当てに依存しており、予め予測は困難であ...
- potp.q
:|compute-0-21, compute-0-22のPcoreを束ねたキュー。
性能は0-21が0-22より1〜3%程速い(CPUの個体差)。
:|
(注) ジョブスクリプトに「task -p -c 0-7 $$」を入れること...
また、pot.qの(注2)も参照。
- pote.q
:|compute-0-21, compute-0-22のEcoreを束ねたキュー。
性能は0-21が0-22より少し速い?(未調査)。
:|
(注) ジョブスクリプトに「task -p -c 8-23 $$」を入れるこ...
また、pot.qの(注2)も参照。
(potp.qとpote.qについての注)
ひとつのノードでpotp.qとpote.qを同時にすべてのCPUコア(pot...
並列ジョブ(nameless.x)を走らせると、
potp.qとpote.qどちらかのみで走らせた並列ジョブと比べて、
potp.qのジョブは1.52倍遅くなり、pote.qのジョブは2.01倍遅...
(すべてのコアを使わなく、一部のコアだけ使った並列ジョブ...
なお、すべてのCPUコア(potp.qで8コア, pote.qで16コア)が使...
1コア当たり、EコアはPコアよりも2.88倍遅い。)
pote.qを動かすメリットはあまり無いようである(potp.qとpot...
potp.qで2本ジョブを順番に流す方が速い場合もあるし、遅く...
pote.qは並列数を増やした時のスケーリング調査には使える?
Table: 計測生データ 2024/06/03
| 実行の実時間
| (nameless.x, test_Hatom_Case012neg...
|------------------+---------------------...
| potp or poteのみ | potpとpote同時
--------------+------------------+---------------------...
8コアpote.q | 17.2h | 26.1h
16コアpote.q | 18.7h | 31.8h(この後半の5....
** ジョブのサブミット例 [#o55832cb]
シリアルジョブのジョブスクリプト(scriptSimpSamp1.sh)と、...
カレントディレクトリに用意しておき、
$ qsub scriptSimpSamp1.sh
とする。
scriptSimpSamp1.shは下記のシリアルジョブをコピペして作る...
testPrime.xは allium:/home/okazaki/util/test_compiler/tes...
gcc -o testPrime.x testPrime.c ~
して作る。
qsubのオプションはジョブスクリプトの中にも記述できる(両...
qsubオプションで指定した値が使われる)。
ジョブスクリプトの出力は
scriptSimpSamp1.sh.oNNN
のファイルに書き出される。
通常のコンパイル・リンクで作ったプログラム(testPrime.xな...
シリアルジョブ以外では、MPI並列はそのライブラリを使用して...
コンパイル・リンクしてプログラムを作る必要がある。
ジョブスクリプトの例(2018/12/02)
- シリアルジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe smp 1 # total num slots. NSLOTS is set to N of P...
OMP_NUM_THREADS=$NSLOTS # NSLOTS threads per process
export OMP_NUM_THREADS
#--- job -----------------------------------------------...
./testPrime.x
#-------------------------------------------------------...
- OpenMP並列ジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe smp 4 # total num slots. NSLOTS is set to N of P...
OMP_NUM_THREADS=$NSLOTS # NSLOTS threads per process
export OMP_NUM_THREADS
#--- job -----------------------------------------------...
./testPrime.x
#-------------------------------------------------------...
(注) -pe smp 4 の数字をスレッド数に合わせて変更する。
- フラットMPI並列(MPI並列)ジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe mpi 4 # total num slots. NSLOTS is set to N of P...
OMP_NUM_THREADS=1 # 1 thread per process
export OMP_NUM_THREADS
#--- job -----------------------------------------------...
mpirun ./testPrime.x
#-------------------------------------------------------...
(注) -pe mpi 4 の数字をプロセス数に合わせて変更する。
これでよいようだ。
- ハイブリッドMPI並列(MPI/OpenMP並列)ジョブ
#!/bin/bash --norc
#$-S /bin/bash # interpreting shell
#$-q pan.q
#$-cwd # execute for the current working directory
#$-j y # y/n: merge stderr into stdout
#$-pe mpismp4 8 # total num slots. NSLOTS is set to t...
OMP_NUM_THREADS=4 # num threads per process. must be N ...
export OMP_NUM_THREADS
if [ `expr $NSLOTS % $OMP_NUM_THREADS` != 0 ]; then
echo 'error: NSLOTS is not divisible by OMP_NUM_THRE...
exit 1
fi
numprocess=`expr $NSLOTS / $OMP_NUM_THREADS`
#--- job -----------------------------------------------...
mpirun -npernode 1 ./testPrime.x -nt $OMP_NUM_THREADS
#-------------------------------------------------------...
(注) スレッド数に合わせて -pe mpismp4 や OMP_NUM_THREADS...
-pe mpismp4 8 の 8は合計の並列数に変更する。
これでよいさそう?
→あやしい、4スレッドでの並列は良さそうではあるが。mpismp...
or
cat $PE_HOSTFILE | awk -v ont=$OMP_NUM_THREADS '{for(i=1...
mpirun -hostfile /tmp/hostfile.$JOB_ID -np $numprocess ....
(注) 問題点はある。ひとつのノードで複数のプロセスを実行...
後者が、いちばんまともに使えそうである。2021/03/01
//-------------------------------------------------------...
* allium.eit.hirosaki-u.ac.jp の構成(2023/03/10現在) [#...
Frontend nodes
allium.eit.hirosaki-u.ac.jp: i3-4150 (2core)
Compute nodes
compute-0-0.local: Xeon X5355 (4core)×2 遅いが、コア...
compute-0-1.local: i5 (4core)
compute-0-2.local: i5 (4core)
compute-0-3.local: i5 (4core)
compute-0-4.local: i5 (4core)
compute-0-5.local: i5 (4core) やや遅い
compute-0-6.local: なし(削除)
compute-0-7.local: なし(削除)
compute-0-8.local: i3 (2core) メモリが4GBと少ない
compute-0-9.local: i3 (2core) メモリが4GBと少ない
compute-0-10.local: i3 (2core) メモリが4GBと少ない
compute-0-11.local: i3 (2core) メモリが4GBと少ない
compute-0-12.local: i3 (2core) メモリが4GBと少ない
compute-0-13.local: i3 (2core) メモリが4GBと少ない
compute-0-21.local: i9 (8Pcore,16Ecore) PはEより1.5倍...
compute-0-22.local: i9 (8Pcore,16Ecore) PはEより1.5倍...
詳細なスペック
allium compute-0-0 compu...
-------------- -------------- -----...
cpu i3-4150 Xeon X5355×2 i5-345...
2core(no HT) 4core(no HT) 4core...
3.50GHz 2.66GHz 3.10G...
-- -3.50...
発売日 Q2'14 Q4'06 Q2'11...
リソグラフィー 22nm 65nm 22nm ...
最大メモリー帯域幅 25.6GB/s (HPに無し) 25.6G...
命令セット拡張 SSE4.1,SSE4.2, nothing SSE4....
AVX2 AVX ...
メモリ 16gb ? ?gb ? 16gb ...
MB ? ? gb B7...
HDD 2TB ×4 1TGB 500GB ...
MB BIOS ver ? ? F12 ...
ケース 黒大 黒大 Silve...
compute-0-4 compute-0-5 ...
-------------- -------------- -----...
cpu i5-3450 i5-760 ...
4core(no HT) 4core(no HT) ...
3.10GHz 2.80GHz ...
-3.50GHz -3.33GHz ...
発売日 Q2'11 Q3'10 ...
リソグラフィー 22nm 45nm ...
最大メモリー帯域幅 25.6GB/s 21GB/s ...
命令セット拡張 SSE4.1,SSE4.2, SSE4.2 ...
AVX ...
メモリ 16gb ? ?gb ? ...
MB gb B75M D3H gb B75M D3H ...
HDD 500GB 1TB ...
MB BIOS ver F6 ? ...
ケース SilverStone 黒大 ...
compute-0-9 compute-0-10 compu...
-------------- -------------- -----...
cpu i3-3240 i3-3240 i3-32...
2core(HT,nous) 2core(HT,nous) 2core...
3.40GHz 3.40GHz 3.40G...
-- -- -- ...
発売日 Q3'12 Q3'12 Q3'12...
リソグラフィー 22nm 22nm 22nm ...
最大メモリー帯域幅 25.6GB/s 25.6GB/s 25.6G...
命令セット拡張 SSE4.1,SSE4.2, SSE4.1,SSE4.2, SSE4....
AVX AVX AVX ...
メモリ 4gb ? 4gb ? 4gb ?...
MB ? ? ? ...
HDD 500GB(75GBwin) 500GB(75GBwin) 500GB...
MB BIOS ver ? ? ? ...
ケース HP6300 PC2 HP6300 PC3 HP630...
compute-0-21 compute-0-22
-------------- -------------- -----...
cpu i9-13900K i9-13900K
8Pcore HT,nous 8Pcore HT,nous
5.40GHz max 5.40GHz max
16Ecore no HT 16Ecore no HT
4.30GHz max 4.30GHz max
発売日 Q4'22 Q4'22
リソグラフィー 7nm 7nm
最大メモリー帯域幅 89.6GB/s 89.6GB/s
命令セット拡張 SSE4.1,SSE4.2, SSE4.1,SSE4.2,
AVX2 AVX2
メモリ 128gbDDR4-3200 128gbDDR4-3200
MB asusB760M-A D4 asusB760M-A D4
HDD 500GB(NVMe) 500GB(NVMe)
MB BIOS ver 0807 0807
ケース Thermaltake Thermaltake
注釈
(HT,nous): HT対応であるがBIOSでdisabledにしている。
(75GBwin): windows7のリカバリー領域を残している。(カ...
2020/04/01 旧compute-0-1, 旧compute-0-2 は compute-0-3...
表中の最大メモリー帯域幅はCPUの性能であるため、メモリ...
(メモ)
旧compute-0-1 旧compute-0-2
-------------- --------------
cpu i5-3470 i5-3470
4core(no HT) 4core(no HT)
3.20GHz 3.20GHz
-3.60GHz -3.60GHz
発売日 Q2'12 Q2'12
リソグラフィー 22nm 22nm
最大メモリー帯域幅 25.6GB/s 25.6GB/s
命令セット拡張 SSE4.1,SSE4.2, SSE4.1,SSE4.2,
AVX AVX
HDD 500GB 500GB
MB BIOS ver F14 F12
ケース SilverStone SilverStone
削除compute-0-6 削除compute-0-7
-------------- --------------
cpu celeron G1630 celeron G1630
2core(no HT) 2core(no HT)
2.80GHz 2.80GHz
-- --
発売日 Q3'13 Q3'13
リソグラフィー 22nm 22nm
最大メモリー帯域幅 21GB/s 21GB/s
命令セット拡張 SSE4.1,SSE4.2 SSE4.1,SSE4.2
HDD 500GB 500GB
MB BIOS ver F15 F15
ケース SilverStone SilverStone黒
旧clematis 旧spiraea c-0-3 旧spi...
-------------- -------------- ------...
cpu i7-3770 i7-5960X i7-10700
4core(HT,nous) 8core(HT,nous) 8core(...
3.90GHz max 3.50GHz max 4.80GH...
-- -- --
発売日 Q2'12 Q3'14 Q2'20
リソグラフィー 22nm 22nm 14nm
最大メモリー帯域幅 25.6GB/s 68GB/s 45.8GB/s
命令セット拡張 SSE4.1,SSE4.2, SSE4.2, SSE4.1...
AVX AVX2 AVX2
メモリ 64gbDDR3L-1600 64gbDDR4-3200 128gbD...
MB asus P8B75-M asusX99-mWsSe asrock...
HDD 2TB+2TB ? 500GB(...
MB BIOS ver 0812 ? P1.50
ケース 黒大 黒大 黒大
** Core i3,5,7,9の世代 [#g1fb07a4]
13 Raptor Lake
12 Alder Lake
11 Tiger Lake
10 CometLake, IceLake, Amber Lake
8,9 CoffeeLake, WhiskeyLake
7 Kaby Lake
6 Skylake
5 Broadwell
4 Haswell
3 IvyBridge
2 Sandy Bridge
1 Nehalem
//-------------------------------------------------------...
* 新規ユーザの作成方法、パスワードの変更方法 [#fcb5ad8b]
# useradd hogename
# passwd hogename
# rocks sync users # 少々時間がかかる
なお、hogenameの最初のログインまで、ホームディレクトリは...
→[[LABO/研究室のアカウントの作り方>https://orange.eit.hir...
パスワード変更はフロントエンドで、
$ passwd
をすることで可能のようだ。
(これで支障無く使えるが、計算ノードのパスワードは少なく...
411get --all コマンドをするまで変更されない)
rootユーザのパスワード変更もpasswdをして、411get --allを...
* 並列計算の仕方 [#nd9e04c3]
以下のファイルを参照のこと。
- 更新版
#ref(並列計算の仕方_20190417.docx)
- 旧版
~なし
//-------------------------------------------------------...
* PySCF 1.7.6 の利用 [#ve52e01c]
使用方法:
$ . /share/apps/pyscf.bash_pyscf
py370環境で PySCFが使えるようになる。
$ python
>>>> from pyscf import gto, scf
>>>> mol=gto.M(atom='H 0 0 0; H 0 0 1.2', basis='ccpvd...
>>>> mf=scf.RHF(mol)
>>>> mf.kernel()
また、
$ jupyter notebook --no-browser --port=8800 --ip=0.0.0.0
も使用可能(示されたURLをwebブラウザで開く)。
//-------------------------------------------------------...
* PyEDB の利用 [#pc5a1178]
リポジトリからクローンして、py370環境にしてから使う。
$ git clone ssh://idrepgit@ivy.eit.hirosaki-u.ac.jp/home...
(備考) /home/kota/masterなどは、/state/partition1/home/k...
//-------------------------------------------------------...
* jupyter notebookの利用 [#tdb7fe60]
py370またはpy3913環境にしたのち、
$ . /share/apps/anaconda3.bash_conda #py370の場合
$ jupyter notebook --no-browser --port=8800 --ip=0.0.0.0
をする。
そして、示されたURLをwebブラウザで開く。
- 8800ポートが使われていたら、番号がインクリメントされて...
- なぜか python3(ipykernel)は py370だとエラーになるように...
//-------------------------------------------------------...
* python 3.7.0 (anaconda版)の利用 [#k66d0330]
使用方法:
$ . /share/apps/anaconda3.bash_conda
このconda仮想環境名は py370 である。
インストールされているパッケージ
numpy 1.21.2
scipy 1.7.1
h5py 2.10.0
jupyter 1.0.0
matplotlib 3.5.0
jupytext 1.13.7
なお、
python3: symbol lookup error: /share/apps/anaconda3/envs...
platforms/../../lib/libQt5XcbQpa.so.5: undefined symbo...
が出る場合、
$ LD_PRELOAD=/share/apps/freetype-2.8/libfreetype.so.6 p...
などのようにする。
これは matplotlibのおそらく pyplotで QtAggバックエンド...
起因する。matplotlib.use( "TkAgg" ) をhogehoge.pyに入れ...
ようだ。
//-------------------------------------------------------...
* python 3.9.13 (anaconda版)の利用 [#j7655f5b]
使用方法:
$ . /share/apps/anaconda3.bash_conda ; conda activate ...
このconda仮想環境名は py3913 である。
インストールされているパッケージ
numpy scipy h5py
jupyter
matplotlib
jupytext
openpyxl
openai #2023/04/10追加
(備考) パッケージの追加方法は howto/pythonを見よ。
なお、py370と同様に、
python3: symbol lookup error: /share/apps/anaconda3/envs...
PyQt5/Qt5/plugins/platforms/../../lib/libQt5XcbQpa.so....
が出る場合、
$ LD_PRELOAD=/share/apps/freetype-2.8/libfreetype.so.6 p...
などのようにする。
または matplotlib.use( "TkAgg" ) を使う。
python3: relocation error: /share/apps/anaconda3/envs/py...
PyQt5/Qt5/plugins/platforms/../../lib/libQt5DBus.so.5:...
version LIBDBUS_1_3 not defined in file libdbus-1.so.3...
が出る場合は、
$ LD_PRELOAD=/share/apps/anaconda3/envs/py3913/lib/libdb...
などのようにする。
このエラーはおそらく pipでパッケージがインストールされ...
両方LD_PRELOADで指定する場合はコロンで並べる
$ LD_PRELOAD=/share/apps/freetype-2.8/libfreetype.so.6:/...
python3 hogehoge.py
//-------------------------------------------------------...
* 予備の仮想環境 [#r465b2d2]
py370rv, py3919rvを作った(/share/apps/anac3)。
//-------------------------------------------------------...
* リンク [#d5ece277]
**カテゴリなし [#vd8a9432]
- [[Rocksclusters website>http://www.rocksclusters.org/]]~
Rocksclusters website (Rocks 7.0がリリース)~
Mailinglist, Wiki, Documentation, Downloadsなどあり
//- [[%%www.rocksclusters.org | Rocks Website%%>http://ww...
//%%このページの説明はありません。%%
- [[npaci-rocks-discussion Info Page>https://lists.sdsc.e...
Rocksのメーリングリストの登録はここから。~
また、過去のアーカイブは site:lists.sdsc.edu をキーワード...
//- [[%%https://wiki.rocksclusters.org/%%>https://wiki.ro...
//%%無くなった?%%
//- [[Index of /roll-documentation>http://central6.rocksc...
//www.rocksclusters.orgのリンクから。
- [[Index of /roll-documentation>http://central-7-0-x86-6...
central-7-0-x86-64.rocksclusters.orgにあるRocks7のドキュ...
- [[Rocks · GitHub>https://github.com/rocksclusters]]~
このページの説明はありません。
- [[https://www.jstage.jst.go.jp/article/jccj/14/4/14_201...
末原茂, "PCクラスタ構築のためのオープンソースLinux OS:Roc...
//- [[Docs and Support>https://rocksclusters.github.io/do...
//Rocksclusters website ( rocksclusters.github.io )
- [[Son of Grid Engine>https://arc.liv.ac.uk/trac/SGE]]~
-- ここのページからのリンクで https://arc.liv.ac.uk/SGE/ ...
//-------------------------------------------------------...
** その他の情報 [#l528aca5]
- [[Rocks Cluster Distribution - Wikipedia>https://en.wik...
このページの説明はありません。
//- [[Home · rocksclusters/wiki Wiki · GitHub>https://git...
//The rocks wiki あまり情報は無い?
- [[KickStartその1(KickStartによるLinux自動インストール概...
0.関連記事一覧 1.はじめに 1.1KickStartとは 1.2...
ページ名: