How to pass Nvidia driver from Host to VM

Discussions related to using VirtualBox on Linux hosts.
Post Reply
satimis
Posts: 506
Joined: 12. Jun 2007, 03:41

How to pass Nvidia driver from Host to VM

Post by satimis »

Hi all,

I'm following below article to install Tensorflow on Ubuntu 18.04 VM;

Ubuntu-18.04 Install Nvidia driver and CUDA and CUDNN and build Tensorflow for gpu;
https://github.com/nathtest/Tutorial-Ub ... ow-for-gpu

but unable to pass the Nvidia driver from Host.

Is there a solution? If without solution then I'm compelled to download the pre-built "deep learning + Python Ubuntu virtual machine".

Thanks

Regards
satimis
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to pass Nvidia driver from Host to VM

Post by mpack »

You can't install host drivers in a VM. Or maybe you can, but it's a waste of time since it's a VM.
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: How to pass Nvidia driver from Host to VM

Post by socratis »

Here's a quick summary of the minimum requirements, just to say "I could possibly, potentially, maybe think about attempting it":
  1. It's experimental. The code hasn't been touched for years, no demand from paying customers.
  2. It's not used. Only 1 (maybe 2) people have done it. So, no help from anyone else, you're on your own.
  3. Your host needs to have 2 GPUs. If you need one for your guest, your host can't work with aether.
  4. Your host must support Intel VT-d or AMD AMD-Vi, both on the CPU and the motherboard.
  5. Recent Linux hosts only with IOMMU support.
More information on ch. 9.6 PCI passthrough of the User Manual.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to pass Nvidia driver from Host to VM

Post by mpack »

? What are you seeing the in the OPs post that hints at it being a PCI passthrough question? Because if that is the case then it's very badly worded.
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: How to pass Nvidia driver from Host to VM

Post by socratis »

[color=#00AA00]mpack[/color] wrote:What are you seeing the in the OPs post that hints at it being a PCI passthrough question?
[color=#105289]satimis[/color] wrote:unable to pass the Nvidia driver from Host.
Better? ;)
[color=#00AA00]mpack[/color] wrote:if that is the case then it's very badly worded
Could be, I've seen far worse. But with the CUDA mention, and the rest of the procedure described in the OP's linked article, it definitely points to the program in the article using the GPU directly in the OS, and for a VM that would mean PCI passthrough.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to pass Nvidia driver from Host to VM

Post by mpack »

[color=#00AA00]socratis[/color] wrote:
[color=#105289]satimis[/color] wrote:unable to pass the Nvidia driver from Host.
Better? ;)
Not really. I still read that as asking how to make the Nvidia compute interface (CUDA) available to a VM, which would of course require installation of Nvidia drivers, which he can't do because the driver installer doesn't see an Nvidia graphics card. I still don't see anything that suggests PCI passthrough.

I guess ultimately Satimis needs to clarify what he intended.
satimis
Posts: 506
Joined: 12. Jun 2007, 03:41

Re: How to pass Nvidia driver from Host to VM

Post by satimis »

Hi all,

I followed the steps on;
"Install Nvidia driver and CUDA and CUDNN and build Tensorflow for gpu"

Coming to "Install nvidia driver" section
Check what driver will be installed :

Ubuntu 18.04 VM
~$ ubuntu-drivers devices
no output

On Ubuntu 16.04 Host
⟫ ubuntu-drivers devices

Code: Select all

== /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001287sv00001043sd000084F5bc03sc00i00
model    : GK208 [GeForce GT 730]
vendor   : NVIDIA Corporation
driver   : nvidia-384 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin
driver   : nvidia-340 - distro non-free
I was stuck here. I started searching around and posted.

I'm now reading;
How to use NVIDIA GeForce M310 on Ubuntu 12.10 running as guest in VirtualBox?
https://askubuntu.com/questions/202926/ ... virtualbox

Code: Select all

Your motherboard has an IOMMU unit.
Your CPU supports the IOMMU.
The IOMMU is enabled in the BIOS.
..... etc
and
List of IOMMU-supporting hardware
https://en.wikipedia.org/wiki/List_of_I ... g_hardware

and
DirectPath I/O supported with ASUS M5A97 R2.0/AMD FX-8350
http://www.lazywinadmin.com/2013/01/dir ... -asus.html

My motherboard
⟫ sudo dmidecode | grep -A4 '^Base'

Code: Select all

 
Base Board Information
        Manufacturer: ASUSTeK COMPUTER INC.
        Product Name: M5A97 LE R2.0
        Version: Rev 1.xx
        Serial Number: 141235722500456
and

CPU
⟫ cat /proc/cpuinfo | grep 'name'| uniq

Code: Select all

model name      : AMD FX(tm)-8320 Eight-Core Processor
I suppose they can be supported by IOMMU

I'll try and come back after testing. Thanks

Regards
satimis
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: How to pass Nvidia driver from Host to VM

Post by mpack »

I am not feeling inclined to chase around a chain of links trying to find out what you're talking about.

So, general advice. If the instructions you are trying to follow are not specifically intended to work in a VirtualBox VM, then they will not work in a VirtualBox VM. This is because VM hardware is simulated and the simulation does not include an NVidia graphics card. If you want to work with physical host hardware then you should be doing it on your host.
satimis
Posts: 506
Joined: 12. Jun 2007, 03:41

Re: How to pass Nvidia driver from Host to VM

Post by satimis »

mpack wrote:- snip -

So, general advice. If the instructions you are trying to follow are not specifically intended to work in a VirtualBox VM, then they will not work in a VirtualBox VM. This is because VM hardware is simulated and the simulation does not include an NVidia graphics card. If you want to work with physical host hardware then you should be doing it on your host.
Hi,

I have to give up unless new documents discovered.

The CPU and motherboard of my pc support IOMMU.

On BIOS;
-> Advanced -> North Bridge
IOMMU can be enabled

but no 'AMD-V and nested paging' found.

-> Advanced -> CPU Configuration
CIE/Sum/Core C6 State/HPC Mode/APM mode

found but without 'AMD-V'

I use the Host of my PC solely for running VirtualBox. Only default applications coming with Ubuntu 16.04 are running.

I have a spare 120G SSD and I could use it for installing/testing Tensorflow. But I expect testing serveral methods on installing Tensorflow. Besides I'll also test Caffe.

Caffe
http://caffe.berkeleyvision.org/

I expect keeping them after each test for future reference. That is why I'm interested performing the tests on VMs

I found following document;
Setting up TensorFlow on Windows using VirtualBox
https://medium.com/@josemarcialportilla ... 93298d5145

The Host is Windows but my Host here is Ubuntu 16.04. I wonder whether the document works for me?

Regards
satimis
Post Reply