What hypervizor to use in my case?

My laptop:

  • SSD
  • 32 RAM
  • i7-6700HQ @ 2.60GHz
  • GTX 1060 6GB

I want to have different VMs for specific things on my laptop:

  1. VM to develop on Windows (e.g., Visual Studio) with access to graphics card (CUDA, TensorRT,…)
  2. VM to develop on Linux with access to graphics card (CUDA, TensorRT,…)
  3. VM to edit videos, photoshop,…
  4. VM to play games
  5. VM for general use (web browser, outlook, word,…)
  6. VM to test applications
  7. Possibly connecting some external GPU to offload the work from my laptop’s graphics card. Since I’m new to this, I haven’t researched enough to understand how it can be done. But, this is in my plans.

What I thought:

  • As a start, I created VM environements in my host Windows OS using VirtualBox for #1 and #2, but I couldn’t access graphics card from VM.
  • I thought maybe to use dual boot, but I don’t want to deal with partitions and re-boots when I need to switch to a different VM.
  • I thought maybe to use hypervisor type 1, so the games won’t lag, but I need second laptop to access the VMs. I haven’t tested this yet. It’s based on what I could understand from people.

Questions:

  • What are the suggestions based on peoples experience in the field?
  • Is this even possible to do on one laptop? I don’t mind to have linux as a host if this is what I have to do in order to achieve this.