Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GPUパススルーでVMからVRしてみよう
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tatsuya Ando
March 26, 2020
Technology
2.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GPUパススルーでVMからVRしてみよう
VRChat LT大会#7用のスライドです
Tatsuya Ando
March 26, 2020
More Decks by Tatsuya Ando
See All by Tatsuya Ando
GitHub Copilotと和解せよ
zgock999
0
280
我ギガスクール構想ニ勝テリ
zgock999
0
260
自力でTTSモデルを作った話
zgock999
0
630
Other Decks in Technology
See All in Technology
20分でわかるセキュアAPI
nwiizo
2
320
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
3
430
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
110
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
130
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
0
1k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
250
8bit CPU 2026
koba789
1
390
コーチングの奥義 何もしないテクニック
jinwatanabe
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
130
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Agile that works and the tools we love
rasmusluckow
331
22k
How to train your dragon (web standard)
notwaldorf
97
6.8k
For a Future-Friendly Web
brad_frost
183
10k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
How to make the Groovebox
asonas
2
2.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
250
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
540
Large-scale JavaScript Application Architecture
addyosmani
515
110k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
Transcript
1 GPU パススルーで VM から VR してみよう VRChat LT #7
@
[email protected]
2 お前誰よ ? ・ OSS 界隈で zgock を名乗る痛いおっさん ・東海道らぐ
(Tokaido Linux Users Group) 名古屋ドメイン ・ openSUSE 教団 ・毎年 OSC 名古屋で仮想化関係のセミナーしてます ・今年も 5/16 にあるのでよろしくね ・ mastdon: @
[email protected]
・ blog: https://blog.zgock-lab.net
3 仮想化技術最後の壁、 GPU ・qemu/VMWare/VirtualBox等でデバイスの仮想化が進んだ ・ネットワークやブロックデバイス等は採用技術次第ではネイティブ と遜色ないレベルに ・GPUは複雑なデバイスであるため単純なソフトウェアによる仮想化 ではパフォーマンスや機能に限界があった (最もパフォーマンスが出るとされているVMWare WorkStationの仮
想VGAでも実GPUには遠く及ばない)
4 GPU 仮想化のための方法論 1.ソフトウェアで準仮想化GPUを実装する (VMXVGA、virtio-gpu=Virgl3Dとか) 2.GPU共有に対応したGPUでホストとGPU共有する (Intel gvt-gとかNVIDIA vGPUとか) 3.ホストに突っ込んだGPUをVMに直接割り当てる
(GPUパススルー)
5 GPU 仮想化のための方法論 1.ソフトウェアで準仮想化GPUを実装する (VMXVGA、virtio-gpu=Virgl3Dとか) 2.GPU共有に対応したGPUでホストとGPU共有する (Intel gvt-gとかNVIDIA vGPUとか) 3.ホストに突っ込んだGPUをVMに直接割り当てる
(GPUパススルー)←今日はこの話をします
6 GPU パススルー ・実は結構枯れた技術で、 ESXiとかXenでは10年前ぐらいから可能だった ・KVMは対応が遅れていたがここ数年で (大体kernel4.8前後から) 実用レベルになった ・FreeBSDのBeHyveもまだIssue出まくりではあるけど 密かに動き始めている
7 昔話 ・7年ぐらい前にXenでおうちの家族用PCを GPUパススルーでVM化した話をSlideShareに 上げてるから見てね ・「xen zfs」で検索すれば出てくるはず
8 KVM での GPU パススルー ・VFIO(Virtual Functional I/O)という技術を使う ・現在進行形で開発されている技術のため、Kernelは新し ければ新しいほど良い世界
・ハードウェア側でIOMMU(IO空間に対応した偉いMMU) を積んでいる必要がある (Intelだとvt-d、AMDだとAMD-Vi) ・BIOSもIOMMU対応が必要 みんな大好きASRock安定
9 VFIO を使う ・Kernelに以下のモジュールを読み込む vfio vfio_iommu_type1 vfio_pci vfio_virqfd kvm kvm_i
ntel ・vfio_pciのoptionでパススルーしたいデバイスのidを指 定する options vfio_pci ids=8086:016a,8086:1e20,1002:683 f,1002:aab0,10de:1380,10de:0fbc等 ・libvirtなりqemuでgpuをPCI id指定で割り当てる ・ね?簡単でしょ?
10 GPU 別の話 - NVIDIA ・NVIDIAのGeforce血統はKVMで使うのに2つの壁 1.vBIOS ROMをブートローダーが掴むと他からアクセスできない 対策A:セカンダリGPUにしておく 対策B:vBIOS
ROMをあらかじめダンプしてROM fileとしてqemuに与 える ・ゲストは必ずUEFI(OVMF)ブートで起動すること 2.NVIDIAドライバがKVM下で動いていることを検知するとエラーで止 まる XenやESXiが公式対応しているQuadroすら止まる 対策:ゲスト側で「KVMで動いているフラグ」をOFFにする
11 (ここに例の中指画像を入れる)
12 GPU 別の話 - AMD ・NVIDIAのようなセコい真似はしていないので素直に動く ・時々vBIOSに持病を持つ世代があって、VMのシャットダウン時にフ リーズする子がいる R9 3xx
RX Vega RX 5xxx (Vega以降については今後のkernelで治るかも) 間違いなくド安定なのはR9 2xx世代 RX3桁系はOCモデルとかのvBIOS弄ってるグラボだと怪しい
13 GPU 別の話 - Intel ・新しめのkernelが必要 (対応したのは4.8からだけど安定したのは4.10ぐらいから) ・coffee Lake以降はKernel 5.1以降が望ましい
・qemuオプションに「Intel iGPU使うよ」というオプションが必要
14 おすすめディストリその1 openSUSE ・教団なのでしかたないね ・カーネルに仮想化関連で当てておきたいパッチが丁寧に当たってい る場合が多い (Kernelの魔改造に定評があるSUSE) ・基本的なKVMの設定はYaSTが秒でセットアップしてくれる ・Xen時代から仮想化関連は積極的に対応している
15 おすすめディストリその2 Arch Linux ・カーネルが新しければ新しいほど良い世界なので ・みんな大好きArch Wiki
16 おすすめディストリその 3 UnRAID Server ・Limetech社が販売しているSlackwareベースのホームサーバー用 ディストリ ・本来ホームNAS用ディストリのはずがKVMとDockerをwebインター フェースで楽々扱えるマニアックOSに ・Webインターフェースで脳死でGPU指定するだけで、GPUの種類判
別して必要な設定を全部やってくれる ・脳死でGPUパススルーしたいなら一番のお勧め ・商用と言ってもグレード別で6000~15000円ぐらい ・評価版もあるでよ
17 実機デモが見たいだと? OSC Nagoya 2020 at 5/16(Sat) ここ数年KVMにVive繋いで 「VMからVR」のデモやってます 今年も去年に引き続き
Unraid Server + Viveで展示予定 コロナで中止になりませんように・・・