純正とかにこだわらず、なんでもよいからCUDAをVMで動かしたいと思います。
先人によると、いろいろあるけど、とにかく難しいようです。
Windows10上のTensorFlowでGPUを利用しようとしてダメだった→できるようになったみたいです!
VirtualBOX
Virtual BOXはパススルーに対応しているということでしたが、実際は難しいという報告が結構ありました。
VirtualBoxでtensorflowを実行する【GPU版導入挫折報告
State of GPU Virtualization for CUDA Applications 2014 には、この時点ではVirtual BOXはLinuxホストのみとあります。
VirtualBoxの3Dアクセラレーションを有効にする方法 これを見るといわゆるvGPUの機能は存在し、Guest Additionsというパッケージを入れれば3Dアクセラレーションまでは使える仕組みのようです。
それにしても、一時期まではtensor flowを動かすためにVM上でLinuxというのはあったのですが、Windows正式対応してからはあまりこの手のことをトライする人がいなくなっているようです。
でも、以下のように、成功している人もいるにはいるみたいなんですよね。
Ubuntu 14.04 VirtualBox VM
VGPU 101: PASSTHROUGH VS. VGPU & WHY IT MATTERSに以下のようにあるので、この二つがよさそうです。
Citrix XenServer and VMware ESX both support both NVIDIA vGPU and passthrough modes.
Citrix XenServer
オフィシャルに対応しているようです。
OpenCL and NVIDIA CUDA support for Citrix XenServer, XenDesktop and XenApp
VIRTUAL GPU SOFTWARE FOR CITRIX XENSERVER VERSION 384.73/385.41
ただ、最近の情報はNVIDIA GRIDを前提とした記述が多く、なかなかアドホックなPC環境に入れた事例は無さそうです。
VMWare ESX
こちらも上記の記事に書いてあるように対応はしているようです。
Mware vSphere ESXiを試す + GPGPUの認識に挑戦惜しいところで、成功したのかどうかわからない。どうも単にGPUとして認識されるだけではだめのようです。
Machine Learning on VMware vSphere
with NVIDIA GPUs
こちらもGRID全盛という感じで、懇切丁寧なインストール説明などはありませんでした。
まとめ
以下の論文のように確かにこれらの仮想化環境でCUDAを作るというのは可能なようですが、少々難易度は高そうです。
GPU Passthrough Performance: A Comparison of KVM, Xen, VMWare ESXi, and LXC for CUDA and OpenCL Applications
Windows 10 Fall Creators UpdateのHyper-Vでしれっと対応してくれないかな?