cryoSPARC/Singularity をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
大規模なcluster環境でcryoSPARCを動かすことになった.
cryoSPARCはdatabaseとweb機能を持つ&color(magenta){master}...
&color(magenta){master};のweb画面操作でjobが発行されると&...
計算が終わるまで適時&color(magenta){master};と&color(oran...
&color(magenta){master};は一度実行するとデーモンのように...
インターラクティヴモードは大抵時間制限があって、制限時間...
なのでコンテナ技術で&color(magenta){master};を覆って、bat...
***&color(magenta){master};作成 [#jd571ed7]
まずは&color(magenta){master};を singularity image file ...
作ったsingularity の定義ファイルは下記になります. config...
下記を「cs.def」として保存します &size(10){ここでは事...
#code(nonumber){{
BootStrap: docker
From: rockylinux:9.3
%files
/Public/em/cs_m_453.tar.gz /usr/src/cs_m.t...
%environment
export PATH="/apps/cs/cryosparc_master/bin:$PATH"
%post
LICENSE="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx " ...
export TZ="Asia/Tokyo"
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo...
dnf install git which iputils -y
mkdir /apps/cs -p
cd /apps/cs && tar xf /usr/src/cs_m.tar.gz && rm -f /u...
cd cryosparc_master
rm -rf /apps/cs/cryosparc_master/run && mkdir /mnt/run
ln -s /mnt/run /apps/cs/cryosparc_master/run ...
rm -rf /apps/cs/cryosparc_master/config.sh && ln -s /...
./install.sh --license $LICENSE --dbpath /mnt/databas...
echo "export CRYOSPARC_FORCE_HOSTNAME=true" >> ./confi...
/apps/cs/cryosparc_master/bin/cryosparcm stop
%runscript
cryosparcm start
}}
っで&color(magenta){master};のsingularity image fileを作...
#code(nonumber){{
(sifを作成)
mkdir $HOME/cs-data
cp /Public/em/{cluster_info.json,cluster_script.sh} $HOME...
apptainer build --bind $HOME/cs-data:/mnt cs.sif cs.def ...
}}
次にcryoSPARCのデータベースを作成して、ユーザアカウントの...
#code(nonumber){{
apptainer shell --bind $HOME/cs-data:/mnt cs.sif
Apptainer>
Apptainer> ls -l /apps/cs/cryosparc_master/
:
lrwxrwxrwx. 1 illya illya 8 Oct 14 20:22 run -> /mnt...
:
Apptainer> cryosparcm start ...
:
Apptainer> ls -lF /mnt/
-rw-r--r--. 1 illya illya 361 Oct 14 20:17 cluster_info...
-rw-r--r--. 1 illya illya 561 Oct 14 20:17 cluster_scri...
-rw-rw-r--. 1 illya illya 657 Oct 14 20:23 config.sh
drwxr-xr-x. 4 illya illya 12288 Oct 14 20:28 database/ ...
drwxrwxr-x. 3 illya illya 4096 Oct 14 20:28 run/
Apptainer>
(cryoSPARCのアカウント作成)
Apptainer> cryosparcm createuser --email saber@chaperone....
Creating user SABER with email: ssaber@chaperone.jp and n...
Successfully created user account.
Apptainer> cryosparcm listusers
| Name | Email ...
---------------------------------------------------------...
| SABER | ssaber@chaperone.jp ...
Apptainer>
Apptainer> cd /mnt
Apptainer> cryosparcm cluster connect
Successfully added cluster lane pbscluster
:
(停止)
Apptainer> cryosparcm stop
Apptainer> exit
}}
***&color(orange){worker};の準備 [#ifffc9a3]
&color(orange){worker};はSingularity を使わず、ホームディ...
理由はsshdの稼働が&color(orange){worker};に必要でSingular...
#code(nonumber){{
[illya@slurm ~]$ tar xf /Public/em/cs_w_453.tar.gz
[illya@slurm ~]$ cd cryosparc_worker/
[illya@slurm cryosparc_worker]$ ./install.sh --license xx...
}}
これで完了
***batchファイルの作成 [#p147a0d3]
こうして作ったcs.sifをログインノードに持って行って、batch...
#code(nonumber){{
#!/bin/bash
#SBATCH -J cryoSPARC_instance
#SBATCH -p workq
#SBATCH -n 1
#SBATCH -o %x.%j.out
#SBATCH -e %x.%j.err
#SBATCH -t 1:00:00
cs=$HOME/cs-data
config=$cs/config.sh
sif=$HOME/cs.sif
rm -rf /tmp/cryosparc-supervisor-*
rm -rf /tmp/mongodb-*
# cryoSPARCのCRYOSPARC_MASTER_HOSTNAMEをsubmitされたノー...
sed -i "s/export CRYOSPARC_MASTER_HOSTNAME=\(.*\)/export ...
apptainer instance start --bind $cs:/mnt $sif cs-instance
apptainer run instance://cs-instance
while true ; do sleep 1 ; done
}}
っでsbatchに流してみる
#code(nonumber){{
[illya@slurm ~]$ sbatch cs.sh
[illya@slurm ~]$ squeue
JOBID PARTITION NAME USER ST T...
47 workq cryoSPAR illya R 2...
[illya@slurm ~]$
}}
ここで n1 でジョブ(cryoSPARC master)が動いているのが分かる.
***cryoSPARC web画面へアクセス. [#r82d2731]
ローカルのPCから計算ノードで動いているcryoSPARCのwebアク...
MobaXtermを立ち上げて、上部メニューの「Tunneling」ボタン...
画面下部の「New SSH tunnel」ボタンを押下します
&ref(2024y10m14d_205721273.png,nolink,70%);
ここではログインノードを踏み台にしてcryoSPARC masterが動...
左側の「Forwarded port」はローカルPC側なので「39000」とし...
&ref(2024y10m14d_205551512.png,nolink,70%);
「save」後にssh tunnelの一覧が表示されます(無課金なら3つ...
&ref(2024y10m14d_210804485.png,nolink,70%);
「Name」欄には区別する文言を入れて、その右側にあるstartの...
接続が行われたら、ローカルPCのブラウザを立ち上げて「local...
っでここにアクセスして、ログインしてジョブの「instance」...
&ref(2024y10m14d_203633639.png,nolink,70%);
これでジョブが流せそう.
***停止方法 [#u3af52ab]
やみくもにJOBIDを停止すると危ないかも。「cryosarcm stop」...
計算ノードにログインして「apptainer exec instance://cs-in...
#code(nonumber){{
[illya@n1 ~]$ apptainer instance list
INSTANCE NAME PID IP IMAGE
cs-instance 33496 /home/illya/cs.sif
[illya@n1 ~]$
[illya@n1 ~]$ apptainer exec instance://cs-instance cryos...
CryoSPARC is running.
Stopping cryoSPARC
app_api: stopped
app: stopped
database: stopped
command_core: stopped
command_vis: stopped
command_rtp: stopped
Shut down
[illya@n1 ~]$ apptainer instance stop cs-instance
[illya@n1 ~]$ ls -l /tmp/cryosparc* /tmp/mongodb*
ls: cannot access '/tmp/cryosparc*': No such file or dire...
ls: cannot access '/tmp/mongodb*': No such file or direct...
[illya@n1 ~]$ exit
}}
その後に job を停止させる
#code(nonumber){{
[illya@slurm ~]$ squeue
JOBID PARTITION NAME USER ST T...
47 workq cryoSPAR illya R 14...
[illya@slurm ~]$
[illya@slurm ~]$
[illya@slurm ~]$ scancel 47
}}
これで完了かな
***メモ [#fd5544ec]
なぜインスタンスを使うのか。cryoSPARC masterを実行すると...
インスタンス経由にするとqsubが切れれば、そのバックグラウ...
単にqsubで「apptainer run --bind $HOME/cs-data:/mnt cs.si...
終了行:
大規模なcluster環境でcryoSPARCを動かすことになった.
cryoSPARCはdatabaseとweb機能を持つ&color(magenta){master}...
&color(magenta){master};のweb画面操作でjobが発行されると&...
計算が終わるまで適時&color(magenta){master};と&color(oran...
&color(magenta){master};は一度実行するとデーモンのように...
インターラクティヴモードは大抵時間制限があって、制限時間...
なのでコンテナ技術で&color(magenta){master};を覆って、bat...
***&color(magenta){master};作成 [#jd571ed7]
まずは&color(magenta){master};を singularity image file ...
作ったsingularity の定義ファイルは下記になります. config...
下記を「cs.def」として保存します &size(10){ここでは事...
#code(nonumber){{
BootStrap: docker
From: rockylinux:9.3
%files
/Public/em/cs_m_453.tar.gz /usr/src/cs_m.t...
%environment
export PATH="/apps/cs/cryosparc_master/bin:$PATH"
%post
LICENSE="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx " ...
export TZ="Asia/Tokyo"
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo...
dnf install git which iputils -y
mkdir /apps/cs -p
cd /apps/cs && tar xf /usr/src/cs_m.tar.gz && rm -f /u...
cd cryosparc_master
rm -rf /apps/cs/cryosparc_master/run && mkdir /mnt/run
ln -s /mnt/run /apps/cs/cryosparc_master/run ...
rm -rf /apps/cs/cryosparc_master/config.sh && ln -s /...
./install.sh --license $LICENSE --dbpath /mnt/databas...
echo "export CRYOSPARC_FORCE_HOSTNAME=true" >> ./confi...
/apps/cs/cryosparc_master/bin/cryosparcm stop
%runscript
cryosparcm start
}}
っで&color(magenta){master};のsingularity image fileを作...
#code(nonumber){{
(sifを作成)
mkdir $HOME/cs-data
cp /Public/em/{cluster_info.json,cluster_script.sh} $HOME...
apptainer build --bind $HOME/cs-data:/mnt cs.sif cs.def ...
}}
次にcryoSPARCのデータベースを作成して、ユーザアカウントの...
#code(nonumber){{
apptainer shell --bind $HOME/cs-data:/mnt cs.sif
Apptainer>
Apptainer> ls -l /apps/cs/cryosparc_master/
:
lrwxrwxrwx. 1 illya illya 8 Oct 14 20:22 run -> /mnt...
:
Apptainer> cryosparcm start ...
:
Apptainer> ls -lF /mnt/
-rw-r--r--. 1 illya illya 361 Oct 14 20:17 cluster_info...
-rw-r--r--. 1 illya illya 561 Oct 14 20:17 cluster_scri...
-rw-rw-r--. 1 illya illya 657 Oct 14 20:23 config.sh
drwxr-xr-x. 4 illya illya 12288 Oct 14 20:28 database/ ...
drwxrwxr-x. 3 illya illya 4096 Oct 14 20:28 run/
Apptainer>
(cryoSPARCのアカウント作成)
Apptainer> cryosparcm createuser --email saber@chaperone....
Creating user SABER with email: ssaber@chaperone.jp and n...
Successfully created user account.
Apptainer> cryosparcm listusers
| Name | Email ...
---------------------------------------------------------...
| SABER | ssaber@chaperone.jp ...
Apptainer>
Apptainer> cd /mnt
Apptainer> cryosparcm cluster connect
Successfully added cluster lane pbscluster
:
(停止)
Apptainer> cryosparcm stop
Apptainer> exit
}}
***&color(orange){worker};の準備 [#ifffc9a3]
&color(orange){worker};はSingularity を使わず、ホームディ...
理由はsshdの稼働が&color(orange){worker};に必要でSingular...
#code(nonumber){{
[illya@slurm ~]$ tar xf /Public/em/cs_w_453.tar.gz
[illya@slurm ~]$ cd cryosparc_worker/
[illya@slurm cryosparc_worker]$ ./install.sh --license xx...
}}
これで完了
***batchファイルの作成 [#p147a0d3]
こうして作ったcs.sifをログインノードに持って行って、batch...
#code(nonumber){{
#!/bin/bash
#SBATCH -J cryoSPARC_instance
#SBATCH -p workq
#SBATCH -n 1
#SBATCH -o %x.%j.out
#SBATCH -e %x.%j.err
#SBATCH -t 1:00:00
cs=$HOME/cs-data
config=$cs/config.sh
sif=$HOME/cs.sif
rm -rf /tmp/cryosparc-supervisor-*
rm -rf /tmp/mongodb-*
# cryoSPARCのCRYOSPARC_MASTER_HOSTNAMEをsubmitされたノー...
sed -i "s/export CRYOSPARC_MASTER_HOSTNAME=\(.*\)/export ...
apptainer instance start --bind $cs:/mnt $sif cs-instance
apptainer run instance://cs-instance
while true ; do sleep 1 ; done
}}
っでsbatchに流してみる
#code(nonumber){{
[illya@slurm ~]$ sbatch cs.sh
[illya@slurm ~]$ squeue
JOBID PARTITION NAME USER ST T...
47 workq cryoSPAR illya R 2...
[illya@slurm ~]$
}}
ここで n1 でジョブ(cryoSPARC master)が動いているのが分かる.
***cryoSPARC web画面へアクセス. [#r82d2731]
ローカルのPCから計算ノードで動いているcryoSPARCのwebアク...
MobaXtermを立ち上げて、上部メニューの「Tunneling」ボタン...
画面下部の「New SSH tunnel」ボタンを押下します
&ref(2024y10m14d_205721273.png,nolink,70%);
ここではログインノードを踏み台にしてcryoSPARC masterが動...
左側の「Forwarded port」はローカルPC側なので「39000」とし...
&ref(2024y10m14d_205551512.png,nolink,70%);
「save」後にssh tunnelの一覧が表示されます(無課金なら3つ...
&ref(2024y10m14d_210804485.png,nolink,70%);
「Name」欄には区別する文言を入れて、その右側にあるstartの...
接続が行われたら、ローカルPCのブラウザを立ち上げて「local...
っでここにアクセスして、ログインしてジョブの「instance」...
&ref(2024y10m14d_203633639.png,nolink,70%);
これでジョブが流せそう.
***停止方法 [#u3af52ab]
やみくもにJOBIDを停止すると危ないかも。「cryosarcm stop」...
計算ノードにログインして「apptainer exec instance://cs-in...
#code(nonumber){{
[illya@n1 ~]$ apptainer instance list
INSTANCE NAME PID IP IMAGE
cs-instance 33496 /home/illya/cs.sif
[illya@n1 ~]$
[illya@n1 ~]$ apptainer exec instance://cs-instance cryos...
CryoSPARC is running.
Stopping cryoSPARC
app_api: stopped
app: stopped
database: stopped
command_core: stopped
command_vis: stopped
command_rtp: stopped
Shut down
[illya@n1 ~]$ apptainer instance stop cs-instance
[illya@n1 ~]$ ls -l /tmp/cryosparc* /tmp/mongodb*
ls: cannot access '/tmp/cryosparc*': No such file or dire...
ls: cannot access '/tmp/mongodb*': No such file or direct...
[illya@n1 ~]$ exit
}}
その後に job を停止させる
#code(nonumber){{
[illya@slurm ~]$ squeue
JOBID PARTITION NAME USER ST T...
47 workq cryoSPAR illya R 14...
[illya@slurm ~]$
[illya@slurm ~]$
[illya@slurm ~]$ scancel 47
}}
これで完了かな
***メモ [#fd5544ec]
なぜインスタンスを使うのか。cryoSPARC masterを実行すると...
インスタンス経由にするとqsubが切れれば、そのバックグラウ...
単にqsubで「apptainer run --bind $HOME/cs-data:/mnt cs.si...
ページ名:
1