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.8k
0
Share
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
270
我ギガスクール構想ニ勝テリ
zgock999
0
260
自力でTTSモデルを作った話
zgock999
0
570
Other Decks in Technology
See All in Technology
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
1.2k
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
700
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
180
実例から学ぶ GuardDuty(SSH BruteForce)調査の全体フローと勘所【SecurityJAWS】
cscengineer
PRO
0
150
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
2
1.7k
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
1
130
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
200
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
AI Agent に“攻略本”を渡したら、150フォームの移行が回り始めた話/登壇資料(高橋 悟生)
hacobu
PRO
0
150
AIAgentと取り組むKaggle
508shuto
2
430
Directions Asia 2026 | Beyond Buildable AI Agents: Let’s Visualize Partner Value in the AI Era
ryoheig0405
0
120
その英語学習、AWSで代替できませんか?
suzutatsu
1
140
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
340
The Curious Case for Waylosing
cassininazir
1
350
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Design in an AI World
tapps
1
210
A designer walks into a library…
pauljervisheath
211
24k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
700
Leo the Paperboy
mayatellez
7
1.8k
Technical Leadership for Architectural Decision Making
baasie
3
370
What's in a price? How to price your products and services
michaelherold
247
13k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
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で展示予定 コロナで中止になりませんように・・・