vncクライアントは?

計算機側で「TurboVNC」を使っているので、windows/macで使うvncクライアントも「TurboVNC」を使います
別のvncクライアントでも表示は出来ますが、動作が重くなりました。「TurboVNC」なら「TurboVNC」なのでしょう.

二手先、三歩先への計算機のGPUでVirtualGL

■二手先の接続例
2024y09m12d_005433730.png
gateにログインして「ssh -L 0.0.0.0:5901:10.10.10.2:5901 saber@localhost」を実行します。これで「gate -- HostB」のトンネルが作られます。
その後、gateからHostBに移って「/opt/TurboVNC/bin/vncserver -vgl」して vncサーバを立てます。 ここでslurmならインターラクティヴジョブでGPUを確保しながらHostBに移って「/opt/TurboVNC/bin/vncserver -vgl」を起動させます
この状態でclientにて vncクライアントを起動させ、「gate:5901」にアクセスするとclientでHostBの画面が表示されます。

■三歩先への接続例.
2024y09m12d_005442096.png
トンネルを作って、HostBに移って「/opt/TurboVNC/bin/vncserver -vgl」を実行してvncサーバを起動します
その後に、clientにて vnc クライアントで「HostA:5901」宛にアクセスします。
これでHostBの画面が、clientのvncクライアントに表示されます

複数のGPUがある計算ノードで特定のGPUを描画用にしたい

例えば空く数枚のGPUを持つ計算機で、2枚目のGPUでvnc描画させて、3枚目のGPUには特手のアプリの描画を専門で行わせるってできるみたい.

TurboVNCの vncserver にて vnc の待ち受けを作る際に

VGL_DISPLAY=:0.1 /opt/TurboVNC/bin/vncserver -vgl :1

とすると、計算機の2番目のGPUが vnc全体の描画に使われます

VGL_DISPLAY=:0.0 /opt/TurboVNC/bin/vncserver -vgl :1

VGL_DISPLAYが「0.0」なら1枚目. 「0.1」なら2枚目って感じです。

引数の「-vgl :1」 の「:1」は接続用port番号で5900にこの数字を足した数がvncの接続ポートになります

[root@rockylinux ~]# nvidia-smi -L
GPU 0: NVIDIA T600 (UUID: GPU-01226552-df75-5989-c2f3-3550cdc3427d)
GPU 1: NVIDIA RTX A2000 (UUID: GPU-23cc3ee7-31d3-a068-2f61-5aa00052d084)
 
[root@rockylinux ~]#

GPU 0: NVIDIA T600
GPU 1: NVIDIA RTX A2000

があって、「VGL_DISPLAY=:0.0 /opt/TurboVNC/bin/vncserver -vgl :1」なら

[saber@rockylinux ~]$ glxinfo|grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA T600/PCIe/SSE2
 :

となって、「VGL_DISPLAY=:0.1 /opt/TurboVNC/bin/vncserver -vgl :1」なら

[saber@rockylinux ~]$ glxinfo|grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA RTX A2000/PCIe/SSE2
 :

とglxinfoの返すデバイスが変わります.

次にGUIアプリの個別GPU割り当てですが、VirtualGLの vglrun を使います
vncviewerではなく、mobaXterm経由で行います. vncviewerでは vglrun が機能しないみたい.

/opt/VirtualGL/bin/vglrun -d :0.0 <GUIアプリ>

「-d :0.0」はvnc描画しているデバイスが使われます。vncserverでの「VGL_DISPLAY=:0.x」に寄ります.
「VGL_DISPLAY=:0.0 /opt/TurboVNC/bin/vncserver -vgl :1」として、「/opt/VirtualGL/bin/vglrun -d :0.0 <GUIアプリ>」なら T600 が選ばれます
また

「VGL_DISPLAY=:0.0 /opt/TurboVNC/bin/vncserver -vgl :1」として、「/opt/VirtualGL/bin/vglrun -d :0.1 <GUIアプリ>」なら A2000 が選ばれます

っでベンチの結果ですが、左が T600、右がA2000の結果です
2024y09m10d_014808589.png 2024y09m10d_014839077.png

slurmで2つのGPUを確保したインターラクティヴジョブを作り、片方は vnc と アプリ描画、もう一つは計算に使うとかできそう

最新の60件
2024-10-11 2024-10-10 2024-10-09 2024-10-08 2024-10-06 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 2024-09-12 2024-09-09 2024-09-08 2024-09-06 2024-09-05 2024-09-04 2024-09-02 2024-09-01 2024-08-31 2024-08-28 2024-08-18 2024-08-17 2024-08-16 2024-08-15 2024-08-14 2024-08-11

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-09-12 (木) 00:55:26