Relion をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
本家様 [[https://relion.readthedocs.io/en/latest/>+https:...
git [[https://github.com/3dem/relion>+https://github.com/...
RelionをRHEL9系のRockyLinuxで構築してみます.
全ての計算はCPUで行えます. 特定の計算項目によっては、NVID...
-NVIDIA謹製GPU:
&color(magenta){compute capability}; が &color(magenta){'...
10x0なら6.1(Pascal)、20x0なら7.5(Turing)、30x0(Ax000)なら...
&size(10){nvidia driverが必須です. driverのversionによっ...
-AMD謹製GPU:
HIP/ROCm, (Heterogeneous-compute Interface for Portabilit...
[[https://en.wikipedia.org/wiki/ROCm]]
-intel謹製GPU:
SYCL,SYstem-wide Compute Language 仕様なコンパイラでコン...
GPUの恩恵が得られない計算項目でも[[oneAPI]]を使えば処理速...
メモ事:
[[Relion/OpenPBS]] relion向けにジョブ管理システム「OpenPB...
[[Relion/qsub/original]] ジョブ管理システム経由でrelionを...
[[Relion/qsub]] ジョブ管理システム経由でrelionを利用する...
[[Relion/oneAPI]] intel謹製コンパイラで作ってみた
[[Relion/napari]] DynaMightの描画を向上したい
***下拵え [#b9bd1d8c]
relionのコンパイル要件は本家様にも書かれております
relion-5.0[[https://relion.readthedocs.io/en/release-5.0/...
relion-4.0[[https://relion.readthedocs.io/en/release-4.0/...
relion-3.1[[https://relion.readthedocs.io/en/release-3.1/...
まずは必要なパッケージをインストール
#code(nonumber){{
(RHEL7系)
yum groupinstall "Development Tools"
yum --enablerepo=epel install cmake openmpi-devel libX11-...
texlive-cm texlive-dvips ghostscript evince fltk-fluid pb...
(RHEL8系)
dnf groupinstall "Development Tools"
dnf install cmake openmpi-devel libX11-devel fftw-devel l...
texlive-cm texlive-dvips ghostscript evince python2-tkint...
dnf --enablerepo=devel,powertools install fltk-fluid
(RHEL9系)
dnf groupinstall "Development Tools"
dnf install cmake openmpi-devel libX11-devel fftw-devel l...
texlive-cm texlive-dvips ghostscript evince pbzip2 zstd
dnf --enablerepo=devel install fltk-fluid
(ubuntu20.04/22.04)
apt update
apt install cmake git build-essential mpi-default-bin mpi...
evince xdvik-ja texlive-fonts-extra texlive-fonts-rec...
}}
&size(10){python2-tkinter, python-tkは relion_it.py に必...
あとnvidiaドライバーとcudaライブラリのインストールを行い...
***relion-5.0の構築 [#m9c41bba]
ver5からrelion向けにpythonアプリを構築する必要があります.
このサイトではpythonアプリは pyenv を敷いて、その上にanac...
#code(nonumber){{
git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
pyenv install --list <--これでanaconda,minic...
pyenv install anaconda3-2025.06-1
pyenv global anaconda3-2025.06-1
source /apps/pyenv/versions/anaconda3-2025.06-1/etc/profi...
conda update conda
(既に「pyenv-anaconda」環境があるなら)
source /apps/pyenv/versions/anaconda3-2025.06-1/etc/profi...
}}
これでrelion向け pythonアプリ の構築準備が整いました
relionのソースコードをgitで取得します. ここでは /apps/src...
#code(nonumber){{
[root@rockylinux9 ~]# mkdir /apps/src && cd $_
[root@rockylinux9 src]# git clone https://github.com/3dem...
[root@rockylinux9 src]# cd relion
[root@rockylinux9 relion]# git checkout ver5.0 <---...
branch 'ver5.0' set up to track 'origin/ver5.0'.
Switched to a new branch 'ver5.0'
[root@rockylinux9 relion]# git branch
master
* ver5.0
[root@rockylinux9 relion]#
(確認)
[root@rockylinux9 relion]# less src/macros.h
:
#define RELION_SHORT_VERSION "5.0.0"
:
[root@rockylinux9 relion]#
}}
まずは relion向けpythonアプリのpython仮想実行環境を作ります
#code(nonumber){{
[root@rockylinux9 relion]# ls -l environment*
-rw-r--r--. 1 root root 940 Aug 13 07:54 environment_blac...
-rw-r--r--. 1 root root 880 Aug 13 07:53 environment.yml
[root@rockylinux9 relion]# conda env create -f environmen...
[root@rockylinux9 relion]# conda env list
:
relion-5.0 /apps/pyenv/versions/anaconda3-202...
:
[root@rockylinux9 relion]# exit <-- 一旦ログアウトします...
}}
再度rootでログインしてrelionアプリを構築
ここではインストール場所は「/apps/relion-5.0.0」、GPUカー...
relion向けpython仮想実行環境は「/apps/pyenv/versions/anac...
「/apps/pyenv/versions/anaconda3-2025.06-1/envs/relion-5....
#code(nonumber){{
[root@rockylinux9 ~]# mkdir /apps/relion-torch <--...
[root@rockylinux9 ~]# mkdir /apps/src/relion/50 <--...
[root@rockylinux9 ~]# cd /apps/src/relion/50
[root@rockylinux9 50]# module load mpi/openmpi-x86_64 ...
[root@rockylinux9 50]# cmake .. -DCMAKE_INSTALL_PREFIX=/a...
-DCUDA_ARCH=86 \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.8 \
-DPYTHON_EXE_PATH=/apps/pyenv/versions/anaconda3-2025.06-...
-DTORCH_HOME_PATH=/apps/relion-torch
(この段階で/apps/relion-torch に Classranker model、Blush...
[root@rockylinux9 50]#
[root@rockylinux9 50]# make -j 20 ; make install <--...
[root@rockylinux9 50]# du -hs /apps/relion-torch
12G /apps/relion-torch
[root@rockylinux9 50b]# make -j 20 ; make install
[root@rockylinux9 50]# /apps/relion-5.0.0/bin/relion --ve...
RELION version: 5.0.0-commit-c6a99b
Precision: BASE=double, CUDA-ACC=single
[root@rockylinux9 50]#
}}
これで一応完成.
PATHを通して relion と実行するとこんな感じ
&ref(2023y10m29d_013549794.png,nolink,50%);
***EnvironmentModules(relion-5.0.0) [#r12f6d3b]
「/apps/modulefiles/relion/5.0.0」
#code(nonumber){{
#%Module1.0
module load mpi
set RELION /apps/relion-5.0.0
prepend-path PATH $RELION/bin
setenv RELION_QSUB_COMMAND sbatch --gres=gpu:4 # gu...
setenv RELION_MPIRUN mpirun
setenv RELION_QSUB_TEMPLATE $RELION/bin/qsub.sh
setenv RELION_QUEUE_NAME workq
setenv RELION_QUEUE_USE false
setenv RELION_QSUB_NRTHREADS 4
setenv RELION_THREAD_MAX 16
setenv RELION_QSUB_NRMPI 4
setenv RELION_MPI_MAX 32
setenv RELION_MPIRUN "mpirun --mca mtl psm2 --mca btl ^of...
setenv RELION_ERROR_LOCAL_MPI 32 #ローカルで32m...
setenv RELION_SHELL csh # ctffindを外...
setenv RELION_EXTERNAL_RECONSTRUCT_EXECUTABLE relion_exte...
setenv RELION_CTFFIND_EXECUTABLE /apps/ctffind-4.1.14...
setenv RELION_MOTIONCOR2_EXECUTABLE /apps/MotionCor2/Mot...
setenv RELION_GCTF_EXECUTABLE /apps/GCTF_Gautomatc...
setenv RELION_RESMAP_EXECUTABLE /apps/ResMap/ResMap-...
setenv RELION_PDFVIEWER_EXECUTABLE evince
setenv RELION_SCRATCH_DIR \$TMPDIR # scratc...
setenv RELION_EXTERNAL_RECONSTRUCT_EXECUTABLE /apps/SIDES...
setenv SIDESPLITTER /apps/SIDES...
}}
***relion-4 [#kbe42211]
一つ前のrelionを用意したい
gitでver4.0に移ってcmake/makeで終わりかな
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src/relion/
[root@rockylinux9 relion]# git branch
master
* ver5.0
[root@rockylinux9 relion]# git checkout ver4.0
branch 'ver4.0' set up to track 'origin/ver4.0'.
Switched to a new branch 'ver4.0'
[root@rockylinux9 relion]# git branch
master
* ver4.0
ver5.0
[root@rockylinux9 relion]# less src/macros.h
:
#define RELION_SHORT_VERSION "4.0.2"
:
[root@rockylinux9 relion]# mkdir 40
[root@rockylinux9 relion]# cd 40
[root@rockylinux9 40]#
[root@rockylinux9 40]# module load mpi/openmpi-x86_64
[root@rockylinux9 40]# cmake -DCMAKE_INSTALL_PREFIX=/apps...
[root@rockylinux9 40]# make -j 20 && make install
[root@rockylinux9 40]# /apps/relion-4.0.2/bin/relion --ve...
RELION version: 4.0.2-commit-27a67b
Precision: BASE=double
[root@rockylinux9 40]#
}}
***EnvironmentModules(relion-4.0.2) [#j38cec3d]
「/apps/modulefiles/relion/4.0.2」
基本、「/apps/modulefiles/relion/5.0.0」をコピーして一部...
#code(nonumber){{
set RELION /apps/relion-5.0.0
↓
set RELION /apps/relion-4.0.2
}}
***memo [#b0921f83]
DynaMightでの描画ツールを動かそうとしているのだが、なかな...
Xming/mobaXterm経由で画面描画は遅い. XDMCPでも重い.
nvidiaドライバ由来の openGL ライブラリを使うと多少は軽く...
#code(nonumber){{
(nvidia-smiの出力)
|========================================================...
| 0 N/A N/A 5381 G /usr/libexec/Xorg ...
| 0 N/A N/A 8468 C+G ...023.09-0/envs/rel...
+--------------------------------------------------------...
}}
左がOS由来のopenGL、右がNVIDIA由来のopenGLでの「glxinfo -...
#code(nonumber){{
[root@rockylinux9 ~]# glxinfo -B ...
name of display: localhost:10.0 ...
display: localhost:10 screen: 0 ...
direct rendering: Yes ...
Extended renderer info (GLX_MESA_query_renderer): ...
Vendor: Mesa/X.org (0xffffffff) ...
Device: llvmpipe (LLVM 15.0.7, 256 bits) (0xffffffff)...
Version: 22.3.0 ...
Accelerated: no ...
Video memory: 15983MB ...
Unified memory: yes ...
Preferred profile: core (0x1) ...
Max core profile version: 4.5 ...
Max compat profile version: 4.5 ...
Max GLES1 profile version: 1.1 ...
Max GLES[23] profile version: 3.2 ...
OpenGL vendor string: Mesa/X.org ...
OpenGL renderer string: llvmpipe (LLVM 15.0.7, 256 bits) ...
OpenGL core profile version string: 4.5 (Core Profile) Me...
OpenGL core profile shading language version string: 4.50...
OpenGL core profile context flags: (none) ...
OpenGL core profile profile mask: core profile ...
OpenGL version string: 4.5 (Compatibility Profile) Mesa 2...
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.3.0
OpenGL ES profile shading language version string: OpenGL...
}}
「NAPARI_PERFMON=1 relion」と実行すると描画のスピード(?)...
noVNCとか、xrdpとか、VirtualGLとかでも検証かなぁ.
終了行:
本家様 [[https://relion.readthedocs.io/en/latest/>+https:...
git [[https://github.com/3dem/relion>+https://github.com/...
RelionをRHEL9系のRockyLinuxで構築してみます.
全ての計算はCPUで行えます. 特定の計算項目によっては、NVID...
-NVIDIA謹製GPU:
&color(magenta){compute capability}; が &color(magenta){'...
10x0なら6.1(Pascal)、20x0なら7.5(Turing)、30x0(Ax000)なら...
&size(10){nvidia driverが必須です. driverのversionによっ...
-AMD謹製GPU:
HIP/ROCm, (Heterogeneous-compute Interface for Portabilit...
[[https://en.wikipedia.org/wiki/ROCm]]
-intel謹製GPU:
SYCL,SYstem-wide Compute Language 仕様なコンパイラでコン...
GPUの恩恵が得られない計算項目でも[[oneAPI]]を使えば処理速...
メモ事:
[[Relion/OpenPBS]] relion向けにジョブ管理システム「OpenPB...
[[Relion/qsub/original]] ジョブ管理システム経由でrelionを...
[[Relion/qsub]] ジョブ管理システム経由でrelionを利用する...
[[Relion/oneAPI]] intel謹製コンパイラで作ってみた
[[Relion/napari]] DynaMightの描画を向上したい
***下拵え [#b9bd1d8c]
relionのコンパイル要件は本家様にも書かれております
relion-5.0[[https://relion.readthedocs.io/en/release-5.0/...
relion-4.0[[https://relion.readthedocs.io/en/release-4.0/...
relion-3.1[[https://relion.readthedocs.io/en/release-3.1/...
まずは必要なパッケージをインストール
#code(nonumber){{
(RHEL7系)
yum groupinstall "Development Tools"
yum --enablerepo=epel install cmake openmpi-devel libX11-...
texlive-cm texlive-dvips ghostscript evince fltk-fluid pb...
(RHEL8系)
dnf groupinstall "Development Tools"
dnf install cmake openmpi-devel libX11-devel fftw-devel l...
texlive-cm texlive-dvips ghostscript evince python2-tkint...
dnf --enablerepo=devel,powertools install fltk-fluid
(RHEL9系)
dnf groupinstall "Development Tools"
dnf install cmake openmpi-devel libX11-devel fftw-devel l...
texlive-cm texlive-dvips ghostscript evince pbzip2 zstd
dnf --enablerepo=devel install fltk-fluid
(ubuntu20.04/22.04)
apt update
apt install cmake git build-essential mpi-default-bin mpi...
evince xdvik-ja texlive-fonts-extra texlive-fonts-rec...
}}
&size(10){python2-tkinter, python-tkは relion_it.py に必...
あとnvidiaドライバーとcudaライブラリのインストールを行い...
***relion-5.0の構築 [#m9c41bba]
ver5からrelion向けにpythonアプリを構築する必要があります.
このサイトではpythonアプリは pyenv を敷いて、その上にanac...
#code(nonumber){{
git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH
pyenv install --list <--これでanaconda,minic...
pyenv install anaconda3-2025.06-1
pyenv global anaconda3-2025.06-1
source /apps/pyenv/versions/anaconda3-2025.06-1/etc/profi...
conda update conda
(既に「pyenv-anaconda」環境があるなら)
source /apps/pyenv/versions/anaconda3-2025.06-1/etc/profi...
}}
これでrelion向け pythonアプリ の構築準備が整いました
relionのソースコードをgitで取得します. ここでは /apps/src...
#code(nonumber){{
[root@rockylinux9 ~]# mkdir /apps/src && cd $_
[root@rockylinux9 src]# git clone https://github.com/3dem...
[root@rockylinux9 src]# cd relion
[root@rockylinux9 relion]# git checkout ver5.0 <---...
branch 'ver5.0' set up to track 'origin/ver5.0'.
Switched to a new branch 'ver5.0'
[root@rockylinux9 relion]# git branch
master
* ver5.0
[root@rockylinux9 relion]#
(確認)
[root@rockylinux9 relion]# less src/macros.h
:
#define RELION_SHORT_VERSION "5.0.0"
:
[root@rockylinux9 relion]#
}}
まずは relion向けpythonアプリのpython仮想実行環境を作ります
#code(nonumber){{
[root@rockylinux9 relion]# ls -l environment*
-rw-r--r--. 1 root root 940 Aug 13 07:54 environment_blac...
-rw-r--r--. 1 root root 880 Aug 13 07:53 environment.yml
[root@rockylinux9 relion]# conda env create -f environmen...
[root@rockylinux9 relion]# conda env list
:
relion-5.0 /apps/pyenv/versions/anaconda3-202...
:
[root@rockylinux9 relion]# exit <-- 一旦ログアウトします...
}}
再度rootでログインしてrelionアプリを構築
ここではインストール場所は「/apps/relion-5.0.0」、GPUカー...
relion向けpython仮想実行環境は「/apps/pyenv/versions/anac...
「/apps/pyenv/versions/anaconda3-2025.06-1/envs/relion-5....
#code(nonumber){{
[root@rockylinux9 ~]# mkdir /apps/relion-torch <--...
[root@rockylinux9 ~]# mkdir /apps/src/relion/50 <--...
[root@rockylinux9 ~]# cd /apps/src/relion/50
[root@rockylinux9 50]# module load mpi/openmpi-x86_64 ...
[root@rockylinux9 50]# cmake .. -DCMAKE_INSTALL_PREFIX=/a...
-DCUDA_ARCH=86 \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.8 \
-DPYTHON_EXE_PATH=/apps/pyenv/versions/anaconda3-2025.06-...
-DTORCH_HOME_PATH=/apps/relion-torch
(この段階で/apps/relion-torch に Classranker model、Blush...
[root@rockylinux9 50]#
[root@rockylinux9 50]# make -j 20 ; make install <--...
[root@rockylinux9 50]# du -hs /apps/relion-torch
12G /apps/relion-torch
[root@rockylinux9 50b]# make -j 20 ; make install
[root@rockylinux9 50]# /apps/relion-5.0.0/bin/relion --ve...
RELION version: 5.0.0-commit-c6a99b
Precision: BASE=double, CUDA-ACC=single
[root@rockylinux9 50]#
}}
これで一応完成.
PATHを通して relion と実行するとこんな感じ
&ref(2023y10m29d_013549794.png,nolink,50%);
***EnvironmentModules(relion-5.0.0) [#r12f6d3b]
「/apps/modulefiles/relion/5.0.0」
#code(nonumber){{
#%Module1.0
module load mpi
set RELION /apps/relion-5.0.0
prepend-path PATH $RELION/bin
setenv RELION_QSUB_COMMAND sbatch --gres=gpu:4 # gu...
setenv RELION_MPIRUN mpirun
setenv RELION_QSUB_TEMPLATE $RELION/bin/qsub.sh
setenv RELION_QUEUE_NAME workq
setenv RELION_QUEUE_USE false
setenv RELION_QSUB_NRTHREADS 4
setenv RELION_THREAD_MAX 16
setenv RELION_QSUB_NRMPI 4
setenv RELION_MPI_MAX 32
setenv RELION_MPIRUN "mpirun --mca mtl psm2 --mca btl ^of...
setenv RELION_ERROR_LOCAL_MPI 32 #ローカルで32m...
setenv RELION_SHELL csh # ctffindを外...
setenv RELION_EXTERNAL_RECONSTRUCT_EXECUTABLE relion_exte...
setenv RELION_CTFFIND_EXECUTABLE /apps/ctffind-4.1.14...
setenv RELION_MOTIONCOR2_EXECUTABLE /apps/MotionCor2/Mot...
setenv RELION_GCTF_EXECUTABLE /apps/GCTF_Gautomatc...
setenv RELION_RESMAP_EXECUTABLE /apps/ResMap/ResMap-...
setenv RELION_PDFVIEWER_EXECUTABLE evince
setenv RELION_SCRATCH_DIR \$TMPDIR # scratc...
setenv RELION_EXTERNAL_RECONSTRUCT_EXECUTABLE /apps/SIDES...
setenv SIDESPLITTER /apps/SIDES...
}}
***relion-4 [#kbe42211]
一つ前のrelionを用意したい
gitでver4.0に移ってcmake/makeで終わりかな
#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/src/relion/
[root@rockylinux9 relion]# git branch
master
* ver5.0
[root@rockylinux9 relion]# git checkout ver4.0
branch 'ver4.0' set up to track 'origin/ver4.0'.
Switched to a new branch 'ver4.0'
[root@rockylinux9 relion]# git branch
master
* ver4.0
ver5.0
[root@rockylinux9 relion]# less src/macros.h
:
#define RELION_SHORT_VERSION "4.0.2"
:
[root@rockylinux9 relion]# mkdir 40
[root@rockylinux9 relion]# cd 40
[root@rockylinux9 40]#
[root@rockylinux9 40]# module load mpi/openmpi-x86_64
[root@rockylinux9 40]# cmake -DCMAKE_INSTALL_PREFIX=/apps...
[root@rockylinux9 40]# make -j 20 && make install
[root@rockylinux9 40]# /apps/relion-4.0.2/bin/relion --ve...
RELION version: 4.0.2-commit-27a67b
Precision: BASE=double
[root@rockylinux9 40]#
}}
***EnvironmentModules(relion-4.0.2) [#j38cec3d]
「/apps/modulefiles/relion/4.0.2」
基本、「/apps/modulefiles/relion/5.0.0」をコピーして一部...
#code(nonumber){{
set RELION /apps/relion-5.0.0
↓
set RELION /apps/relion-4.0.2
}}
***memo [#b0921f83]
DynaMightでの描画ツールを動かそうとしているのだが、なかな...
Xming/mobaXterm経由で画面描画は遅い. XDMCPでも重い.
nvidiaドライバ由来の openGL ライブラリを使うと多少は軽く...
#code(nonumber){{
(nvidia-smiの出力)
|========================================================...
| 0 N/A N/A 5381 G /usr/libexec/Xorg ...
| 0 N/A N/A 8468 C+G ...023.09-0/envs/rel...
+--------------------------------------------------------...
}}
左がOS由来のopenGL、右がNVIDIA由来のopenGLでの「glxinfo -...
#code(nonumber){{
[root@rockylinux9 ~]# glxinfo -B ...
name of display: localhost:10.0 ...
display: localhost:10 screen: 0 ...
direct rendering: Yes ...
Extended renderer info (GLX_MESA_query_renderer): ...
Vendor: Mesa/X.org (0xffffffff) ...
Device: llvmpipe (LLVM 15.0.7, 256 bits) (0xffffffff)...
Version: 22.3.0 ...
Accelerated: no ...
Video memory: 15983MB ...
Unified memory: yes ...
Preferred profile: core (0x1) ...
Max core profile version: 4.5 ...
Max compat profile version: 4.5 ...
Max GLES1 profile version: 1.1 ...
Max GLES[23] profile version: 3.2 ...
OpenGL vendor string: Mesa/X.org ...
OpenGL renderer string: llvmpipe (LLVM 15.0.7, 256 bits) ...
OpenGL core profile version string: 4.5 (Core Profile) Me...
OpenGL core profile shading language version string: 4.50...
OpenGL core profile context flags: (none) ...
OpenGL core profile profile mask: core profile ...
OpenGL version string: 4.5 (Compatibility Profile) Mesa 2...
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.3.0
OpenGL ES profile shading language version string: OpenGL...
}}
「NAPARI_PERFMON=1 relion」と実行すると描画のスピード(?)...
noVNCとか、xrdpとか、VirtualGLとかでも検証かなぁ.
ページ名:
1