Installation verification failed.

Hi All,

I am trying to install CUDA on Hyper-V Ubuntu Linux 18.04.2 LTS virtual machine.
And my Host system is running Windows Server 2019 and the GPU model I have is Nvidia Titan RTX.

To enable my Hyper-V VM to use the GPU, I have success and done the GPU pass-through on my Host system to dismount the GPU and mount it to my Hyper-V Ubuntu Linux VM by referring to this documentation: https://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/index.html#using-gpu-pass-through-windows-server-hyper-v.

Then I have install CUDA on my Hyper-V Ubuntu Linux VM by following the instruction on Package Manager Installation from this documenatation:
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu-installation

After complete the CUDA installation and successfully make the CUDA sample program. I encounter error when running the ./deviceQuery and ./bandwidthTest binaries.

The error I encounter is as below:

test-Virtual-Machine:~/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release$ ./deviceQuery
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 101
-> invalid device ordinal
Result = FAIL
test-Virtual-Machine:~/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release$ ./bandwidthTest
[CUDA Bandwidth Test] - Starting...
Running on...

cudaGetDeviceProperties returned 101
-> invalid device ordinal
CUDA error at bandwidthTest.cu:242 code=101(cudaErrorInvalidDevice) "cudaSetDevice(currentDevice)"

The error message when run nvidia-smi:

test-Virtual-Machine:~/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release$ nvidia-smi 
Unable to determine the device handle for GPU 8C8A:00:00.0: Unknown Error

Can I know what should I do in order to successfully validate my CUDA installation is completed on my Hyper-V Ubuntu Linux VM?

Thanks and regards,
YiYang

At the end of that section you linked (i.e. after step 4), it states this:

“After assigning a GPU to a VM, install the NVIDIA graphics driver in the guest OS on the VM as explained in Installing the NVIDIA vGPU Software Graphics Driver.” (with a link to a section explaining how to install the vGPU driver here: https://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/index.html#installing-grid-vgpu-display-drivers). Did you do that? Because that section states:

“Installation in a VM: After you install the NVIDIA vGPU software graphics driver, you can license any NVIDIA vGPU software licensed products that you are using.”

In short, proceeding to install the standard CUDA installer is not the right way to go. That bundled driver is not the vGPU driver. The use case you are discussing here (GPU in a VM pass-through setting) requires software licenses.

For further questions about how to get licenses for vGPU use case, please ask your questions on the virtual GPU forums:

https://gridforums.nvidia.com/default/board/119/nvidia-virtual-gpu-forums/

Hi Robert,

Thank you so much for your reply sir.

I did not do this because I not able to find the vGPU driver that support my GPU which is the Nvidia Titan RTX model.

I will try to ask in the virtual GPU forums on this.

Regards,
YiYang

That’s because Titan RTX is not a supported GPU for vGPU installations.

The prerequisites section in the document you already linked:

https://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/index.html#prereqs-vgpu

states:

Before proceeding, ensure that these prerequisites are met:

One or more NVIDIA GPUs that support NVIDIA vGPU software is installed in your server platform

https://www.nvidia.com/en-us/data-center/virtualization/resources/

https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/solutions/resources/documents1/tesla-gpu-linecard-virtualization-us-nvidia-669786-r7.pdf