「srun -n 1 --pty xterm」と slurm 経由でX11アプリを動かすためには?

[illya@slurm-client ~]$ srun -n 1 --pty xterm
srun: error: n2: task 0: Exited with exit code 1
/usr/bin/xterm: Xt error: Can't open display: localhost:10.0
[illya@slurm-client ~]$

ちなみに普通に計算ノードにSSHでアクセスして xterm の表示はできています

[illya@slurm-client ~]$ ssh n2 -X
Last login: Sun Sep 17 02:15:36 2023 from 192.168.0.20
[illya@n2 ~]$ xterm

slurm-17.11以降は「slurm.conf」に「PrologFlags=x11」を加えれば slurm 経由で X11アプリが使えるようになりました. 「--x11」オプションが必要です

[illya@slurm-client ~]$ srun -n 1 --x11 --pty xterm

っで立ち上がった xterm で phenix や ccp4i を起動させる. 一応これでログインノードで立てなくてもいいかなとなる.


slurm-17.11以前の対処方法

本家様https://github.com/hautreux/slurm-spank-x11
https://slurm.schedmd.com/faq.html#x11

rpmファイルを作ってみます

[root@slurm ~]# git clone https://github.com/hautreux/slurm-spank-x11
 
[root@slurm ~]# tar --exclude-vcs --transform 's/slurm-spank-x11/slurm-spank-x11-0.2.5/' -cvjf slurm-spank-x11-0.2.5.tar.gz slurm-spank-x11
 
[root@slurm ~]# mkdir rpmbuild/{SPECS,SOURCES}
 
[root@slurm ~]# cp slurm-spank-x11-0.2.5.tar.gz rpmbuild/SOURCES/
[root@slurm ~]# cp slurm-spank-x11/slurm-spank-x11.spec rpmbuild/SPECS/
 
[root@slurm ~]# vi rpmbuild/SPECS/slurm-spank-x11.spec

specファイルを修正します

--- slurm-spank-x11/slurm-spank-x11.spec        2023-09-17 04:10:11.151935714 +0900
+++ rpmbuild/SPECS/slurm-spank-x11.spec 2023-09-17 04:14:10.491328664 +0900
@@ -23,6 +23,7 @@
 %{__cc} -g -o slurm-spank-x11 slurm-spank-x11.c
 %{__cc} -g -shared -fPIC -o x11.so \
        -D"X11_LIBEXEC_PROG=\"%{_libexecdir}/%{name}\"" \
+       -I/opt/slurm/include \
        slurm-spank-x11-plug.c
 
 %install
@@ -31,12 +32,12 @@
 mkdir -p $RPM_BUILD_ROOT%{_libdir}
 mkdir -p $RPM_BUILD_ROOT%{_libdir}/slurm
 mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/slurm
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/slurm/plugstack.conf.d
+mkdir -p $RPM_BUILD_ROOT%{_slurm_sysconfdir}
+mkdir -p $RPM_BUILD_ROOT%{_slurm_sysconfdir}/slurm
+mkdir -p $RPM_BUILD_ROOT%{_slurm_sysconfdir}/slurm/plugstack.conf.d
 install -m 755 slurm-spank-x11 $RPM_BUILD_ROOT%{_libexecdir}
 install -m 755 x11.so $RPM_BUILD_ROOT%{_libdir}/slurm
-install -m 644 plugstack.conf $RPM_BUILD_ROOT%{_sysconfdir}/slurm/plugstack.conf.d/x11.conf.example
+install -m 644 plugstack.conf $RPM_BUILD_ROOT%{_slurm_sysconfdir}/slurm/plugstack.conf.d/x11.conf.example
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -45,7 +46,7 @@
 %defattr(-,root,root,-)
 %{_libexecdir}/slurm-spank-x11
 %{_libdir}/slurm/x11.so
-%config %{_sysconfdir}/slurm/plugstack.conf.d/x11.conf.example
+%config %{_slurm_sysconfdir}/slurm/plugstack.conf.d/x11.conf.example
 
 %changelog
 * Tue Nov 06 2012 HAUTREUX Matthieu <matthieu.hautreux@cea.fr> -  0.2.5-1

その上で

[root@slurm ~]# cat slurm.rpmmacros
%_prefix /opt/slurm
%_slurm_sysconfdir %{_prefix}/etc
%_with_hwloc 1
%_with_pam 1
%_with_x11 1
%_with_pmix --with-pmix=/usr
%_with_nvml --with-nvml=/usr/local/cuda-12.2
%_with_freeipmi --with-freeipmi=/usr
 
[root@slurm ~]# rpmbuild --load slurm.rpmmacros -bb rpmbuild/SPECS/slurm-spank-x11.spec

slurm/rpmbuildで使った slurm.rpmmacros を使ってます

作った中身の確認

[root@slurm ~]# rpm -qpli ./rpmbuild/RPMS/x86_64/slurm-spank-x11-0.2.5-1.x86_64.rpm
Name        : slurm-spank-x11
Version     : 0.2.5
Release     : 1
Architecture: x86_64
Install Date: (not installed)
Group       : System Environment/Base
Size        : 41401
License     : GPL
Signature   : (none)
Source RPM  : slurm-spank-x11-0.2.5-1.src.rpm
Build Date  : Sun 17 Sep 2023 04:16:59 AM JST
Build Host  : slurm
Summary     : Slurm spank plugin for X11 display support
Description :
x11 SLURM spank plugin enables to export X11 display on a part or all of the
allocated nodes of SLURM jobs using openSSH.
If openSSH is properly configured, users can use this feature transparently,
otherwise they will need to enter as many passwords as connections to establish.
/opt/slurm/etc/slurm/plugstack.conf.d/x11.conf.example
/opt/slurm/lib64/slurm/x11.so
/opt/slurm/libexec/slurm-spank-x11
/usr/lib/.build-id
/usr/lib/.build-id/cc
/usr/lib/.build-id/cc/5053b7eeb2d30032260bf73d76a87fcbec042b
/usr/lib/.build-id/d0
/usr/lib/.build-id/d0/1435b8161ea494131d9490f1290144c847c6a2
[root@slurm ~]#

これをインストールします

[root@slurm ~]# dnf localinstall ./rpmbuild/RPMS/x86_64/slurm-spank-x11-0.2.5-1.x86_64.rpm

メモ

error: X11 forwarding not built in, cannot enable.」と言われる. これはslurm自体がX11無効なため

phenix

Phenix#l39f486dのようにpheixを含むSingularityイメージを作って

[illya@slurm ~]$ srun --x11 --pty singularity run ubuntu-jammy.sif phenix

で起動できる. もちろんphenixは slurm で割り当てられたマシンで動いてます. ログインノードで計算はしないです

最新の60件
2024-12-08 2024-12-05 2024-12-04 2024-11-28 2024-11-23 2024-11-22 2024-11-15 2024-11-14 2024-11-12 2024-11-06 2024-11-05 2024-11-04 2024-11-02 2024-11-01 2024-10-29 2024-10-28 2024-10-27 2024-10-23 2024-10-18 2024-10-17 2024-10-15 2024-10-14 2024-10-13 2024-10-11 2024-10-10 2024-10-09 2024-10-08 2024-10-05 2024-10-04 2024-10-03 2024-10-02 2024-10-01 2024-09-30 2024-09-29 2024-09-28 2024-09-27 2024-09-22 2024-09-20 2024-09-17

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-09-18 (月) 21:36:29