SlideShare a Scribd company logo
1 of 82
Download to read offline
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年
最近のデモ
月曜日22日7月13年
最近のデモ
SCOTTIE - Nonoil & SystemK
月曜日22日7月13年
最近のデモ
SCOTTIE - Nonoil & SystemK
FPS
月曜日22日7月13年
最近のデモ
月曜日22日7月13年
最近のデモ
月曜日22日7月13年
最近のデモ
月曜日22日7月13年
最近のデモ
月曜日22日7月13年
問題点
•モダンなデモを開発するには、僕のMacBook Proでは遅すぎる。
(Intel Core2Duo, 8GB RAM, NVIDIA 9400M)
•SCOTTIEは、0 ~ 4 FPSでしか動かなかった。
(SCOTTIEはDirectXですが、参考程度に...)
•動かすのですら大変なのに開発となったら...
月曜日22日7月13年
やりたい事
•外でOpenGLのデモを作るとき、もっと快適に開発をしたい。
•外で重いシェーダー(GLSL)などを開発したい。
•CUDAとかも使いたい
•自宅にそこそこの環境があるし、どうにかならないのか...
月曜日22日7月13年
解決案
1.WindowsのRDPを使用する。
2.Linux の X11 Forwarding を使用する。
月曜日22日7月13年
Windowsマシンに
RDP (Remote Desktop Protocol)
で画面を転送してみる
月曜日22日7月13年
月曜日22日7月13年
結果
動くには動くが、使えない機能など
も結構ある
(DirectXは動くので、そっちで開発する人はこれでいいかも...)
月曜日22日7月13年
解決案
1.WindowsのRDPを使用する。
2.Linux の X11 Forwarding を使用する。
月曜日22日7月13年
Linux の X11 Forwarding
を使ってみる
月曜日22日7月13年
月曜日22日7月13年
結果
いろんな事が一応できるが、HWの
依存関係とかが...
CUDAも微妙 (グラフィカルな物は動かない)...
月曜日22日7月13年
解決案
1.WindowsのRDPを使用する。
2.Linux の X11 Forwarding を使用する。
月曜日22日7月13年
解決案
1.WindowsのRDPを使用する。
2.Linux の X11 Forwarding を使用する。
3. Headless X11 な Linux を使用する。
月曜日22日7月13年
Headless X11って何?
•Headless つまり、頭がない事(直訳)
•マウス、キーボード、モニター等を必要
としないLinux環境
•VNC + SSH tunneling で手元のコンピューターへ画面を転送する
•速い、CUDAとかも使える。
月曜日22日7月13年
メリット
•コンピューターに必要なスペースが少ない
•速い、普通のVNCとかより描画などが速い
•VPN などを使えば、外からでも高性能な環境が使える
•OpenGLでデモを作る人はこれで るね! (Linuxのウィンドウ周り
のコードをかく必要があるけど...)
↑ (デモならGLUT使えばいいんじゃない?)
月曜日22日7月13年
デメリット
•ネイティブ環境と比べると、遅い
•たまに切れる (致命的、僕の環境ではVNCでターミナルを開く
と、切れる)
•セキュリティ的に甘い (VPNなどを通してアクセスするの推奨)
•一人しか使えない (? 調査中)
月曜日22日7月13年
今回の設定環境
•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年
必要スキル
•基本的な Linuxスキル (コマンドライン)
•SSHなどを扱えるスキル
•まあトラブルを自己解決できる人なら大丈夫!
月曜日22日7月13年
VIM or EMACS
•Linuxのことを話すと必ずこれでなんか言う人がいるが...
はっきり言ってどうでもいい!
•GNU nano とか echo とか使えばいいんじゃないの (適当)
•(あ、ちなみに説明ではvimを使います。[not vim教])
月曜日22日7月13年
早速作ろう!
月曜日22日7月13年
流れ
1. CentOS 6セットアップ
2. 初期設定(sudo)
3. ネットワークを自動起動させる
4. GPU driver setup
4-1. 下準備
4-2.ドライバーインストール
月曜日22日7月13年
流れ
5. リポジストリの編集
6. X環境構築
7. Headless X11 構築
8. CUDA 環境構築
9. x11vnc 構築
月曜日22日7月13年
1. CentOS 6 セットアップ
•普通にセットアップします
•SSH などのパッケージは、必ず選択する事
•少しの間、キーボード、マウス、ディスプレイが必要
月曜日22日7月13年
2. 初期設定 (sudo)
•作業効率を上げるため sudo の設定をする。
• $ su
• # visudo
• [アカウント名] ALL=(ALL) ALL を追加
•保存して exit
月曜日22日7月13年
2. 初期設定 (sudo)
•以上でsudoが使えるようになる。
•以降 ユーザーのコマンドは、先頭に $
スーパーユーザーのコマンドは、先頭に # を付けて説明する。
月曜日22日7月13年
3. ネットワークを自動接続させる
•CentOSの起動時にネットワークを自動接続させる
• #vi /etc/sysconfig/network-scripts/ifcfg-[ネットワークデバイス名]
•自動接続させるため ONBOOT を yes にする
•保存した後、ネットワークを再起動する
# /etc/rc.d/init.d/network restart
•ここからはSSHを使うとよさげ
月曜日22日7月13年
4. GPU driver setup
•これより、NVIDIAのドライバーをセットアップするのだが、
Windowsなどと比べるといろいろ複雑なので、少し詳しく書く。
月曜日22日7月13年
4-1. 下準備
•標準では、nouveauドライバーがロードされている。
•Xが起動しているとドライバーの切り替えができないためXを止め
るのだが、標準ではXがkillされると自動復帰するので、Xが自動
起動しないようにする。
月曜日22日7月13年
4-1. 下準備
•まずは、自動でXが起動しないように設定をする。
•# vi /etc/inittab
•id:5:initdefault を id:3:initdefault に変更する。
月曜日22日7月13年
4-1. 下準備
•次にnouveauドライバーがロードされないようにする
•# vi /boot/grub/grub.conf
•kernelで始まる行の終わりに次の文を加える
•nouveau.modeset=0
•保存して # reboot
月曜日22日7月13年
4-1. 下準備
•以降、起動時のロード画面がかわる
•いったんログイン後にstartxでXをスタートさせ、フォルダの名前
を英語にするか聞かれるので、英語に変えておく。
月曜日22日7月13年
4-2. ドライバーインストール
•$ cd Downloads
•$ wget [NVIDIAのドライバーのダウンロードURL]
•ダウンロード後、実行可能にするパーミッションを与える
•$ chmod +x [ファイル名]
月曜日22日7月13年
4-2. ドライバーインストール
•スーパーユーザー権限でドライバーをインストールする
•$ sudo ./[ファイル名]
•全部Yesとかの方を選ぶ、WARNINGはOKを押して進める
•インストール後、再起動
•# reboot
月曜日22日7月13年
5. リポジストリの編集
•今回のやり方はテストのため、セキュリティ的に望ましくない方
法をしています。しっかりやりたい人は、自分で調べて...
•まずは、リポジストリを最も速いミラーに設定する。
•$ sudo -i
•# yum install yum-fastestmirror
月曜日22日7月13年
5. リポジストリの編集
•CentOSPlusを有効にする
•# vi /etc/yum.repos.d/CentOS-Base.repo
•[centosplus] の下にある enabled=0 を 1 にする。
•そして次の二つのリポジストリを追加する
月曜日22日7月13年
5. リポジストリの編集
[rpmforge]
name=RPMforge RPM repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el6/en/$basearch/
rpmforge/
gpgcheck=0
enabled=1
月曜日22日7月13年
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年
5. リポジストリの編集
•保存後リポジストリをアップデートする。
•# yum update
月曜日22日7月13年
6. X環境構築
•保存後リポジストリをアップデートする。
•# yum update
月曜日22日7月13年
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年
7. Headless X11 構築
•備考:
•udevが起動してなかったり、DeviceセクションにBusIDがない
と、Xは起動しない。
•udevを起動させておくか、DeviceセクションにBusIDを記載して
おく
月曜日22日7月13年
7. Headless X11 構築
•このままでは、ユーザー権限でXを起動しようとしたとき、PAM
関連のセキュリティエラーが出て起動できないので、ユーザーで
もXを起動できるように書き換える。
•# vi /etc/pam.d/xserver
•auth required の pam_console.so を pam_permit.so に変更
•これで起動できるようになる
月曜日22日7月13年
7. Headless X11 構築
•Linuxには、出力画面を選択する DISPLAY変数という物がある、
基本的に、GPU0は :0.0 に設定されている。
•現在のDISPLAY変数は、以下のコマンドで確認できる。
$ env | grep DISPLAY
•SSHのXForwardingを使用しているときのクライアント側の画面
は localhost:10.0 などになってる事が多い.
月曜日22日7月13年
7. Headless X11 構築
•Xは以下のようにディスプレイ番号を指定する事もできる
$ startx -- :0.0
•また、最後に & を付けるとバックグラウンドで開始できる
$ startx -- :0.0 &
•DISPLAY変数を :0.0 にかえるには
$ export DISPLAY=:0.0
月曜日22日7月13年
7. Headless X11 構築
•$ export DISPLAY=:0.0
•$ glxinfo
•OpenGL vendor string などの項目をみる事で、NVIDIAのドライ
バーが読み込まれているかどうかを確認する事ができる。
月曜日22日7月13年
7. Headless X11 構築
•$ glxgears
•97157 frames in 5.0 seconds = 19431.389 FPS
•HWアクセラレーションがしっかりと効いているため、1万を超え
るFPSが出る。
月曜日22日7月13年
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年
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年
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年
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年
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年
8. CUDA 環境構築
•sample をコンパイルする
•$ cd /usr/local/cuda-5.0/samples
•# make -k
•MPI環境をインストールしていないので、1部のコンパイルに失敗
するが、無視して進める。
月曜日22日7月13年
8. CUDA 環境構築
•CUDAを使う上で、パスを通さないといけないので以下の文を
~/.bashrc に書いておく
•export PATH=$PATH:/usr/local/cuda-5.0/bin
•export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/
cuda-5.0/lib64
月曜日22日7月13年
8. CUDA 環境構築
•CUDA がしっかりと動作しているか、サンプルを動かしてみて確
認する。
•$ cd /usr/local/cuda-5.0/samples/0_Simple/vectorAddDrv
•$ ./vectorAddDrv
月曜日22日7月13年
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年
8. CUDA 環境構築
•複数のGPUを搭載している場合は、複数扱えているかをサンプル
を実行して確認する
•$ cd /usr/local/cuda-5.0/samples/0_Simple/simpleMultiGPU
•$ ./simpleMultiGPU
月曜日22日7月13年
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年
8. CUDA 環境構築
•2GPUs と表示されればしっかり機能しているといえる。
•たくさんのGPUを使う場合もほぼ同じかと思われます。
月曜日22日7月13年
9. x11vnc 構築
•x11vncを導入する事でやっと、Linux側の画面を手元のPCに表示
させる事ができます。
•http://www.karlrunge.com/x11vnc/
月曜日22日7月13年
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年
9. x11vnc 構築
•以上でインストールは完了する。
•これで、Headless X11 Linux が完成する。
•もう、ディスプレイ、キーボード、マウスは外してしまって大丈
夫!
月曜日22日7月13年
ひとまず完成
月曜日22日7月13年
Headless X11 Linux 使い方
•VNCのソフトウェアは、SSH Tunneling に対応したVNCクライア
ントを使用する。
•Mac OSだと、ChickenというVNCクライアントがSSH Tunneling
にも対応していておすすめです。
http://sourceforge.net/projects/chicken/
•もしくは、手動でSSH Tunneling してください。
月曜日22日7月13年
Headless X11 Linux 使い方 (1)
•まずはサーバーにSSHでログインする。そして以下の二つを実行
•$ startx -- :0.0 &
•$ x11vnc -display :0.0 -forever -auth guess -noxdamage &
•これで二つともバックグラウンドで開始されます。
このコマンド実行後にexitでsshを切断するとプロセスは残るの
で、いちいち立ち上げるのめんどいという人にはいいかも
月曜日22日7月13年
Headless X11 Linux 使い方 (2)
•次にVNCクライアントで、SSH Tunneling を使用してサーバーに
アクセスします。
•Tunnel over SSH などがそうです。
•これで、Headless X11 の画面が手元のPCに送られてきます。
月曜日22日7月13年
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年
で、Headless X11 Linux で
何ができるの?
月曜日22日7月13年
アドバンテージ
•OpenGL はクロスプラットフォームに対応なので、高速なLinux環
境でデモを作って、あとになってWindowsのバイナリをビルドし
た方が、作業効率的にはいい。
•HWアクセラレーションがしっかり効くので、高速な回線さえあ
れば、ミニノートみたいなPCで開発ができる!
•すごく重い物を作るときは、これを使うとかなりいいかも
月曜日22日7月13年
できなかった事
•VNCでアクセスしてる先で、ターミナルが開けない.
(export DISPLAY=:0.0 とかでコマンドを送ってあげるしかない)
•一部の設定などをすると突然切断されたりする。
•複数ユーザーにそれぞれデスクトップを割り当てる
月曜日22日7月13年
実際にアクセスし、
使ってみます。
月曜日22日7月13年
月曜日22日7月13年
デモ以外の活用法
•ゲームをサーバー側で走らせて、画面だけこっちに表示する
•ベンチマークとかするときに外からいろいろできる。
•ひとつのデスクトップで作業を共有する
•などなど...
月曜日22日7月13年
まとめ
•Linuxの基礎知識があるとHeadless X11 Linuxを構築して、比較的
快適にOpenGLのデモが作成できる。
•環境に依存する事 (CUDAなど) も外で使える。
•デモ以外にも様々な使い道がありそうですね.
月曜日22日7月13年
?
@T_SRTX1911 , @RTX1911
http://rtx1911.net/
月曜日22日7月13年
THANKS
月曜日22日7月13年

More Related Content

What's hot

分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないことNorishige Fukushima
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 
位置データもPythonで!!!
位置データもPythonで!!!位置データもPythonで!!!
位置データもPythonで!!!hide ogawa
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案Masanori Kado
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用Hiroyuki Masuda
 

What's hot (20)

分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
位置データもPythonで!!!
位置データもPythonで!!!位置データもPythonで!!!
位置データもPythonで!!!
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
 

Viewers also liked

グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~
グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~
グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~Dell TechCenter Japan
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介Yasuhiro Matsuo
 
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御Ryosuke Okuta
 
なぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかなぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかNVIDIA Japan
 
超簡単でハイセンスな表紙スライドの作り方
超簡単でハイセンスな表紙スライドの作り方超簡単でハイセンスな表紙スライドの作り方
超簡単でハイセンスな表紙スライドの作り方MOCKS | Yuta Morishige
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】MOCKS | Yuta Morishige
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版MOCKS | Yuta Morishige
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Viewers also liked (10)

グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~
グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~
グラフィックスの仮想化を実現する NVIDIA GRID™ ~仮想マシンからの GPU の利用方法と、今後の展開~
 
Dell VGX solution
Dell VGX solutionDell VGX solution
Dell VGX solution
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
 
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
 
なぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかなぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているか
 
超簡単でハイセンスな表紙スライドの作り方
超簡単でハイセンスな表紙スライドの作り方超簡単でハイセンスな表紙スライドの作り方
超簡単でハイセンスな表紙スライドの作り方
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to NVIDIA GPUで作るHeadless X11 Linux

Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
Chromium androidビルド
Chromium androidビルドChromium androidビルド
Chromium androidビルドHiroshi Sakate
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Masaki Muranaka
 
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」aitc_jp
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみようRyo Adachi
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみたKazuya Wada
 
Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Misao X
 
DOSBox for beginners はじめてのDOSBox
DOSBox for beginners はじめてのDOSBoxDOSBox for beginners はじめてのDOSBox
DOSBox for beginners はじめてのDOSBoxNetwalker lab kapper
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : ReloadedMasataka Kondo
 
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなしTsuyoshi Yamada
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾外道 父
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順Hide Koba
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習ksk sue
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Emma Haruka Iwao
 

Similar to NVIDIA GPUで作るHeadless X11 Linux (20)

Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
Chromium androidビルド
Chromium androidビルドChromium androidビルド
Chromium androidビルド
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
 
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみよう
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
DOSBox for beginners はじめてのDOSBox
DOSBox for beginners はじめてのDOSBoxDOSBox for beginners はじめてのDOSBox
DOSBox for beginners はじめてのDOSBox
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : Reloaded
 
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 

NVIDIA GPUで作るHeadless X11 Linux