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
Tatsuya Ando
March 26, 2020
Technology
0
2.8k
GPUパススルーでVMからVRしてみよう
VRChat LT大会#7用のスライドです
Tatsuya Ando
March 26, 2020
Tweet
Share
More Decks by Tatsuya Ando
See All by Tatsuya Ando
GitHub Copilotと和解せよ
zgock999
0
240
我ギガスクール構想ニ勝テリ
zgock999
0
220
自力でTTSモデルを作った話
zgock999
0
490
Other Decks in Technology
See All in Technology
Everything Claude Code を眺める
oikon48
13
8.1k
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
200
Claude Code Skills 勉強会 (DevelersIO向けに調整済み) / claude code skills for devio
masahirokawahara
1
22k
エンジニアリングマネージャーの仕事
yuheinakasaka
0
110
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
240
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
2
640
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
120
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
320
Claude Code 2026年 最新アップデート
oikon48
14
11k
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
160
ガバメントクラウドにおけるAWSの長期継続割引について
takeda_h
2
5.3k
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
90
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.4k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
120
The untapped power of vector embeddings
frankvandijk
2
1.6k
Faster Mobile Websites
deanohume
310
31k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
A Modern Web Designer's Workflow
chriscoyier
698
190k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
We Are The Robots
honzajavorek
0
200
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
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で展示予定 コロナで中止になりませんように・・・