「VirtualGLでリモートのOpenGLアプリをぬるぬる動かす」の版間の差分

提供: Eospedia
移動: 案内検索
(実行)
行1: 行1:
 
* VirtualGLを使ってリモートのOpenGLアプリをぬるぬる動かす試み
 
* VirtualGLを使ってリモートのOpenGLアプリをぬるぬる動かす試み
 
** https://virtualgl.org/About/Introduction
 
** https://virtualgl.org/About/Introduction
* <span style="color:red">現状成功していません。</span>
 
  
 
== 実行環境 ==
 
== 実行環境 ==
行56: 行55:
 
  (server)$ chimera
 
  (server)$ chimera
 
vglrunをいちいち打たなくてよくなり、楽。
 
vglrunをいちいち打たなくてよくなり、楽。
 +
 +
== 総括 ==
 +
研究室のLAN外にあるサーバーでも、VirtualGLを使えば、重めの3D描画アプリもぬるぬる動かせることがわかりました。

2019年5月12日 (日) 13:03時点における版

実行環境

サーバー

Ubuntu 16.04.6 LTS

  • 3.6 GHz Intel Xeon E5-1650
  • 64 GB 2133 MHz DDR4
  • NVIDIA GeForce GTX 1080 8 GB x 4台
    • Driverバージョン 418.74
    • CUDAバージョン 10.1

クライアント

macOS Mojave 10.14.4

  • Mac mini (Late 2012)
    • 2.3 GHz Intel Core i7
    • 16 GB 1600 MHz DDR3
    • Intel HD Graphics 4000 1536 MB
  • XQuartx 2.7.11

インストール

サーバー側

クライアント側

実行

クライアント側(Mac)で、新規ターミナルを起動。そこで、

(client)$ /opt/VirtualGL/bin/vglconnect -s <ユーザー名>@<サーバーipアドレス>

により、サーバーへsshログインする。

このとき-sオプションをつけないとVGLの通信が暗号化されないので注意。

今回はサーバーが研究室のLANの外にあるため、暗号化している。暗号化の代償として、描画速度が遅くなる。

(試しに一瞬だけ-sオプションを外して暗号化をなくして以下を実行すると、glxgearsの動きが目に見えて速くなった)

実験としてglxgearsを動かしてみる。

(server)$ /opt/VirtualGL/bin/vglrun glxgears

-sによる暗号化の代償で、期待したほど速く動いてくれない。それでもvirtualglを使わない場合と比べればマシではある。

重めの3D OpenGLアプリ UCSF Chimeraを動かしてみた。

(server)$ /opt/VirtualGL/bin/vglrun chimera

chimeraのコマンドラインで適当にpdbをfetchして描画してみる。

(chimera)$ open 2zwh

嗚呼!割とぬるぬる動く!-sオプションのせいで遅くなりすぎるのではと心配したが、意外となんとかなった。

さらに、以下によりvglrunでbashを起動すると、そのbashターミナルの中で起動したOpenGLアプリは全てVirtualGLが描画を手伝ってくれ、描画が高速になる。

(server)$ /opt/VirtualGL/bin/vglrun bash
(server)$ chimera

vglrunをいちいち打たなくてよくなり、楽。

総括

研究室のLAN外にあるサーバーでも、VirtualGLを使えば、重めの3D描画アプリもぬるぬる動かせることがわかりました。