Contenu connexe Similaire à NVIDIA GPUで作るHeadless X11 Linux (20) NVIDIA GPUで作るHeadless X11 Linux1. NVIDIA GPUで作るHeadless X11 Linux
President of REAL TiME XPRESS & RTX1911 demo division
Coder, Graphics & Music artist, Director
Tomoki Shishikura (@T_SRTX1911)
メガデモ勉強会 | SAKURA Internet | Jul 20, 2013
月曜日22日7月13年
24. 今回の設定環境
•VPNは、Mac OS X ServerのVPN機能を使用 (L2TP)
•Linux は、CentOS 6.4 を使用 (RHEL系がいい)
•AMD Athlon II X2, 4GB RAM, NVIDIA GTS250...
•設定などに Mac OS X 10.8 のターミナルを使用
月曜日22日7月13年
30. 1. CentOS 6 セットアップ
•普通にセットアップします
•SSH などのパッケージは、必ず選択する事
•少しの間、キーボード、マウス、ディスプレイが必要
月曜日22日7月13年
34. 4. GPU driver setup
•これより、NVIDIAのドライバーをセットアップするのだが、
Windowsなどと比べるといろいろ複雑なので、少し詳しく書く。
月曜日22日7月13年
39. 4-2. ドライバーインストール
•$ cd Downloads
•$ wget [NVIDIAのドライバーのダウンロードURL]
•ダウンロード後、実行可能にするパーミッションを与える
•$ chmod +x [ファイル名]
月曜日22日7月13年
44. 5. リポジストリの編集
[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/
gpgcheck=0
enabled=1
の二つを追加する。
月曜日22日7月13年
47. 7. Headless X11 構築
•nvidia-xconfig の --use-display-device=Noneによって、Headless
X11 環境を構築する。
•--virtual=WxH で解像度を指定し、 --enable-all-gpus で全ての
GPUを使用する。
•# nvidia-xconfig -a --use-display-device=None --enable-all-gpus --
virtual=1280x800
月曜日22日7月13年
48. 7. Headless X11 構築
•備考:
•udevが起動してなかったり、DeviceセクションにBusIDがない
と、Xは起動しない。
•udevを起動させておくか、DeviceセクションにBusIDを記載して
おく
月曜日22日7月13年
49. 7. Headless X11 構築
•このままでは、ユーザー権限でXを起動しようとしたとき、PAM
関連のセキュリティエラーが出て起動できないので、ユーザーで
もXを起動できるように書き換える。
•# vi /etc/pam.d/xserver
•auth required の pam_console.so を pam_permit.so に変更
•これで起動できるようになる
月曜日22日7月13年
50. 7. Headless X11 構築
•Linuxには、出力画面を選択する DISPLAY変数という物がある、
基本的に、GPU0は :0.0 に設定されている。
•現在のDISPLAY変数は、以下のコマンドで確認できる。
$ env | grep DISPLAY
•SSHのXForwardingを使用しているときのクライアント側の画面
は localhost:10.0 などになってる事が多い.
月曜日22日7月13年
51. 7. Headless X11 構築
•Xは以下のようにディスプレイ番号を指定する事もできる
$ startx -- :0.0
•また、最後に & を付けるとバックグラウンドで開始できる
$ startx -- :0.0 &
•DISPLAY変数を :0.0 にかえるには
$ export DISPLAY=:0.0
月曜日22日7月13年
52. 7. Headless X11 構築
•$ export DISPLAY=:0.0
•$ glxinfo
•OpenGL vendor string などの項目をみる事で、NVIDIAのドライ
バーが読み込まれているかどうかを確認する事ができる。
月曜日22日7月13年
53. 7. Headless X11 構築
•$ glxgears
•97157 frames in 5.0 seconds = 19431.389 FPS
•HWアクセラレーションがしっかりと効いているため、1万を超え
るFPSが出る。
月曜日22日7月13年
54. 8. CUDA 環境構築
•サンプルをmakeする上でglutが必要なのでインストールする
•$ cd ~/Downloads
•$ wget http://mirror.centos.org/centos/6/os/x86_64/Packages/
freeglut-2.6.0-1.el6.x86_64.rpm
•$ wget http://mirror.centos.org/centos/6/os/x86_64/Packages/
freeglut-devel-2.6.0-1.el6.x86_64.rpm
月曜日22日7月13年
55. 8. CUDA 環境構築
•# rpm -ivh freeglut-2.6.0-1.el6.x86_64.rpm freeglut-
devel-2.6.0-1.el6.x86_64.rpm
•これでサンプルをコンパイルする事ができる。
•以降OpenGLが使えるが、古いfreeglutなので、必要なら新しいバ
ージョンを入れる
月曜日22日7月13年
56. 8. CUDA 環境構築
•これよりCUDA 5.0 をインストールするが、ドライバーはインス
トールせずに、Toolkitとサンプルコードのみを入れる。
•$ cd ~/Downloads
•$ wget http://developer.download.nvidia.com/compute/cuda/5_0/
rel-update-1/installers/cuda_5.0.35_linux_64_rhel6.x-1.run
月曜日22日7月13年
57. 8. CUDA 環境構築
•$ chmod +x cuda_5.0.35_linux_64_rhel6.x-1.run
•# ./cuda_5.0.35_linux_64_rhel6.x-1.run
•ライセンスに同意するか聞かれるので、 accept と入力する。
月曜日22日7月13年
58. 8. CUDA 環境構築
•Do you accept the previously read EULA? (accept/decline/quit):
accept
•Install NVIDIA Accelerated Graphics Driver for Linux-x86_64
304.54? ((y)es/(n)o/(q)uit): n
•Install the CUDA 5.0 Toolkit? ((y)es/(n)o/(q)uit): y
•Enter Toolkit Location [ default is /usr/local/cuda-5.0 ]: (Enter)
•Install the CUDA 5.0 Samples? ((y)es/(n)o/(q)uit): y
•Enter CUDA Samples Location [ default is /usr/local/cuda-5.0/
samples ]: (Enter)
月曜日22日7月13年
59. 8. CUDA 環境構築
•sample をコンパイルする
•$ cd /usr/local/cuda-5.0/samples
•# make -k
•MPI環境をインストールしていないので、1部のコンパイルに失敗
するが、無視して進める。
月曜日22日7月13年
61. 8. CUDA 環境構築
•CUDA がしっかりと動作しているか、サンプルを動かしてみて確
認する。
•$ cd /usr/local/cuda-5.0/samples/0_Simple/vectorAddDrv
•$ ./vectorAddDrv
月曜日22日7月13年
62. 8. CUDA 環境構築
•Vector Addition (Driver API)
> Using Device 0: "GeForce [なんとかなんとか]" with Compute
3.5 capability
> findModulePath found file at <./vectorAdd_kernel64.ptx>
> initCUDA loading module: <./vectorAdd_kernel64.ptx>
> PTX JIT log:
•自分の使ってるGPUの名前が出てれば成功です。
月曜日22日7月13年
64. 8. CUDA 環境構築
Starting simpleMultiGPU
CUDA-capable device count: 2
Generating input data...
Computing with 2 GPUs...
GPU Processing time: 13.682000 (ms)
Computing with Host CPU...
Comparing GPU and Host CPU results...
GPU sum: 16777280.000000
CPU sum: 16777294.395033
Relative difference: 8.580068E-07
月曜日22日7月13年
67. 9. x11vnc 構築
•$ cd ~/Downloads
•$ wget http://x11vnc.sourceforge.net/dev/x11vnc-0.9.14-dev.tar.gz
•$ tar -zxvf x11vnc-0.9.13
•$ ./ configure
•$ make
•$ sudo make install
月曜日22日7月13年
70. Headless X11 Linux 使い方
•VNCのソフトウェアは、SSH Tunneling に対応したVNCクライア
ントを使用する。
•Mac OSだと、ChickenというVNCクライアントがSSH Tunneling
にも対応していておすすめです。
http://sourceforge.net/projects/chicken/
•もしくは、手動でSSH Tunneling してください。
月曜日22日7月13年
71. Headless X11 Linux 使い方 (1)
•まずはサーバーにSSHでログインする。そして以下の二つを実行
•$ startx -- :0.0 &
•$ x11vnc -display :0.0 -forever -auth guess -noxdamage &
•これで二つともバックグラウンドで開始されます。
このコマンド実行後にexitでsshを切断するとプロセスは残るの
で、いちいち立ち上げるのめんどいという人にはいいかも
月曜日22日7月13年
72. Headless X11 Linux 使い方 (2)
•次にVNCクライアントで、SSH Tunneling を使用してサーバーに
アクセスします。
•Tunnel over SSH などがそうです。
•これで、Headless X11 の画面が手元のPCに送られてきます。
月曜日22日7月13年
73. Headless X11 Linux 使い方 (3)
•試しに、CUDA の Particles を動かしてみます。
•$ export DISPLAY=:0.0
•$ cd /usr/local/cuda-5.0/samples/5_Simulations/particles/
•$ ./particles
•実行するとVNCの画面にひょうじされるはず。
月曜日22日7月13年