VMware Cloud Community
M4T
Enthusiast
Enthusiast
Jump to solution

Nvidia Tesla P4

Hi community,

i have recently just started using a Nvidia Tesla p4 GPU accelerator on a Windows 10 vm but I’m a bit confused on how I know if it’s actually doing anything. Or if it’s set up properly I have attached images.

On one of the shots it’s shows 0mb ram not sure if it’s a error or something.

It it shows the gpu is working in the device manager the os installed the driver for the gpu it’s self I have noticed the driver it installed is higher than the driver on Nvidia not sure if that could be an issue.

Im assuming programmes like adobe illustrator and premier pro etc use Tesla cards and or Autodesk products.?

Reply
0 Kudos
1 Solution

Accepted Solutions
bluefirestorm
Champion
Champion
Jump to solution

The suggestion to use CUDA samples or the Nvidia demo programs inside the VM was to verify that the Telsa P4 works inside the VM. From all the screenshots, it looks like it is working but the only thing lacking was proof an application being able to use it and evidenced by the GPU Activity.

Doing a search of XProtect Smart Client, I would guess it depends on the version of the software that you use. From what I can see XProtect H264 encoding/decoding is using Intel QuickSync (thus requires an Intel GPU not Nvidia).

SmartClient 2017 Documentation

https://www.milestonesys.com/files/General/MilestoneGuides/MilestoneXProtectSmartClient_HardwareAcce...

SmartClient 2016 Demonstration Video

https://youtu.be/_D5Rrw_mtVU?t=3m47s

The thing I found involving Nvidia is a press release from Milestone. The press release is vague. It doesn't say whether it is fully supported and availability. It doesn't say either exactly what the Nvidia GPUs will be used for. Is it for more than H264/H265 such as facial recognition?

https://www.milestonesys.com/press-releases/20170403-nvidia/

Intel QuickSync requires an application like XProtect Smart Client to use Intel's Media SDK for H264/H265 processing. The same thing with Nvidia as well requiring the application to use the Nvidia Video Codec SDK. Unless the version of the XProtect Smart Client you have explicitly supports and configurable to use Nvidia GPUs for H264/265 encoding/decoding, it would ignore the Tesla P4 altogether (regardless if it is inside a VM or not).

So you have to check with Milestone as to availability/support of Nvidia GPU with the version of XProtect that you have.

As to 2 cards with 2 different drivers, it works. There are many laptops with both Intel and a discrete graphics such as AMD or Nvidia. The laptop that I am typing this reply from has both Intel HD530 and Nvidia GTX 960M enabled. For desktops, it also works. I used to have a desktop that had both Intel HD4600 and Nvidia GTX 950 active at the same time. Even with the VM that you have created has a VMware SVGA 3D adapter (albeit virtual) and the Nvidia Tesla P4 active at the same time. DirectX 12 even allows any application that uses DX12 to be able to have both Nvidia and AMD GPUs in the same system.

The issue really is whether the OS and/or application(s) are written to explicitly take advantage of specific features of either or both cards. For example, a facial recognition algorithm could take advantage of the GPU compute capability of an Nvidia GPU if it was written using CUDA API while having another GPU for display purposes.

View solution in original post

Reply
0 Kudos
11 Replies
Dee006
Hot Shot
Hot Shot
Jump to solution

Hi,

Have you configured the GPU as passthrough device?

Add an NVIDIA GRID vGPU to a Virtual Machine

Reply
0 Kudos
M4T
Enthusiast
Enthusiast
Jump to solution

Hi Dee006,

Yes I have added the GPU to the host, rebooted and then added it as a PCI device to the VM I need it for. It shows up in the device manager and it says it’s working but I’m not sure how I know if it is. As it doesn’t show up on Autodesk or adobe programmes. The Nvidia control panel only shows a utilisation graph I don’t get any 3D settings or anything like that it’s all blank. I have added some pictures.

I have added a notepad .txt of what the NVidia control panel system information shows.

Reply
0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

Based on the Nvidia Tesla P4 datasheet, it looks like this is more of a GPU compute card rather than a GPU display card.

http://images.nvidia.com/content/pdf/tesla/184457-Tesla-P4-Datasheet-NV-Final-Letter-Web.pdf

It looks like it doesn't even have any connectors for display output. So what you are trying to do with direct graphics passthrough may not be usable for applications like Autodesk or Adobe. But generally even if it does not have any display connectors, the GPU capabilities can still be used. I just don't know whether there is any option in Autodesk or Adobe to do so. I also don't know what options you have in the Nvidia Control Panel for the Tesla P4.

On GeForce consumer cards, usually the Nvidia Control Panel allows selection of PhysX compute capability.

You could also try downloading CUDA samples (but these generally are source code samples and require you to build them using a C/C++ compiler with the CUDA Toolkit).

Alternatively, you could try downloading and running the Nvidia visual demos.

http://www.nvidia.com/coolstuff/demos#!/geforce-gtx-900

http://www.nvidia.com/coolstuff/demos#!/geforce-gtx-900/lifelike-human-face-rendering

The human face rendering demo can be configured to be non-full-screen so that you can see the GPU activity. It shows up as humanhead64.exe.

Reply
0 Kudos
M4T
Enthusiast
Enthusiast
Jump to solution

Hi,

im assuming the card is for computer acceleration, I have tried using it on h.264 streams on a xprotect smart client for cctv monitoring on trying to decode 20 streams but it doesn’t seem to do anything. there is an article that states it can be used with a quadro card but I wasn’t sure on whether to try it as it requires 2 drivers on 2 different cards I wasn’t sure if it would work.

Reply
0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

The suggestion to use CUDA samples or the Nvidia demo programs inside the VM was to verify that the Telsa P4 works inside the VM. From all the screenshots, it looks like it is working but the only thing lacking was proof an application being able to use it and evidenced by the GPU Activity.

Doing a search of XProtect Smart Client, I would guess it depends on the version of the software that you use. From what I can see XProtect H264 encoding/decoding is using Intel QuickSync (thus requires an Intel GPU not Nvidia).

SmartClient 2017 Documentation

https://www.milestonesys.com/files/General/MilestoneGuides/MilestoneXProtectSmartClient_HardwareAcce...

SmartClient 2016 Demonstration Video

https://youtu.be/_D5Rrw_mtVU?t=3m47s

The thing I found involving Nvidia is a press release from Milestone. The press release is vague. It doesn't say whether it is fully supported and availability. It doesn't say either exactly what the Nvidia GPUs will be used for. Is it for more than H264/H265 such as facial recognition?

https://www.milestonesys.com/press-releases/20170403-nvidia/

Intel QuickSync requires an application like XProtect Smart Client to use Intel's Media SDK for H264/H265 processing. The same thing with Nvidia as well requiring the application to use the Nvidia Video Codec SDK. Unless the version of the XProtect Smart Client you have explicitly supports and configurable to use Nvidia GPUs for H264/265 encoding/decoding, it would ignore the Tesla P4 altogether (regardless if it is inside a VM or not).

So you have to check with Milestone as to availability/support of Nvidia GPU with the version of XProtect that you have.

As to 2 cards with 2 different drivers, it works. There are many laptops with both Intel and a discrete graphics such as AMD or Nvidia. The laptop that I am typing this reply from has both Intel HD530 and Nvidia GTX 960M enabled. For desktops, it also works. I used to have a desktop that had both Intel HD4600 and Nvidia GTX 950 active at the same time. Even with the VM that you have created has a VMware SVGA 3D adapter (albeit virtual) and the Nvidia Tesla P4 active at the same time. DirectX 12 even allows any application that uses DX12 to be able to have both Nvidia and AMD GPUs in the same system.

The issue really is whether the OS and/or application(s) are written to explicitly take advantage of specific features of either or both cards. For example, a facial recognition algorithm could take advantage of the GPU compute capability of an Nvidia GPU if it was written using CUDA API while having another GPU for display purposes.

Reply
0 Kudos
M4T
Enthusiast
Enthusiast
Jump to solution

if I was looking for gpu acceleration would it probably be easier to use a high end Quadro card instead of a Tesla card.

also I’m a bit confused on the settings as it says direct x etc but when you try opening a game I.e call of duty MW3 it just says direct x error.

Im assuming it should work. When I use my Quadro k620 card.

Reply
0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

I don't know what your real purpose is for the Tesla P4.

If the purpose is to speed up encoding/decoding of surveillance videos in the XProtect Smart Client, from what I see in the Milestone documentation and demonstration videos, it looks like it requires an Intel GPU for the H264/H265 encoding/decoding as it uses Intel QuickSync. Any Nvidia card (be it GeForce, Quadro, GRID, Tesla) won't be able to support Intel QuickSync. Maybe there will be one version of XProtect that uses Nvidia (in the future) based on the April 2017 press release. But that is just a press release and some marketing blurb of a demonstration in Las Vegas. No statement as to what version and when it will be available.

As for games, it is no different from Autodesk or Adobe applications. Unless the application such as MW3 allows you to select a preferred GPU, chances are it would use the virtual VMware SVGA 3D adapter inside the VM which may or may not support the necessary DX 9/10 level required depending on the hardware compatibility settings and SVGA 3D driver and the underlying graphics hardware.

With VMware Workstation 12.x/14.0, a Windows 10 VM can support up to DX10 only (and some games still fail) to run inside the VM as it isn't necessarily a perfect port/emulation of the DX9/10 capabilities.

Reply
0 Kudos
M4T
Enthusiast
Enthusiast
Jump to solution

atm I have removed the Tesla GPU and added a Quadro k620. It has installed and is working correctly as I can use it in Autodesk and it appears under graphics properties same goes for premier pro cc 2017. But as for MW3 it shows this error i Have attached a image. Also attached an image of the dxdiag. Im not sure how you change the gpu so it uses it for games or makes it default as if I disable the VMware one it makes it very laggy as expected.

Reply
0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

The dxdiag in Windows 7/8/10 VMs shows DX feature levels higher than 10 when 3D acceleration is disabled in Fusion/Workstation (either by configuration or disabled by Fusion/Workstation during VM startup because the underlying host graphics hardware that supports 3D acceleration is not used/not present). I assume that would also be the case with ESXi VMs. So it is not surprising that the MW3 would fail even though dxdiag inside the VM seem to report DX 11.

For the Tesla P4, since it is not really designed as a GPU display but as GPU compute card; the usage scenario involving ESXi would need something like VMware Horizon and its compute capability can then be shared amongst different VMs. While it is possible to do a passthrough as what you have done, unless you have an application (such as one written with Nvidia CUDA SDK) that can make use of it, it becomes a useless card inside the VM.

Reply
0 Kudos
M4T
Enthusiast
Enthusiast
Jump to solution

Is there any setting I can change or on the vm config list to add to make the gpu work for games or, I added the config of ”hypervisor.cpuid.v0 = FALSE“ to get the gpu to work. Is there anything to use to make it use the gpu instead of the VMware graphics.

Reply
0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

Other alternatives to use the Tesla P4 as passthrough device inside a VM would be to use cryptocurrency mining applications that make use of either CUDA or OpenCL. Or you could try something like BOINC

https://boinc.berkeley.edu/

https://boinc.berkeley.edu/wiki/GPU_computing

I have never tried BOINC nor cryptocurrency mining so I don't have any experience to share. I just thought these might be an easier way to test the Tesla P4 passthrough instead of downloading CUDA Toolkit and building the sample apps. These applications should look for an Nvidia GPU for either its CUDA or OpenCL capability.

As for games, most games are dependent on DX9/10. I assume the Nvidia Control Panel you have does not have any way to change the GPU Preferences. On Nvidia Optimus laptops, the Nvidia Control Panel has an option to select the preferred GPU.

A complicated way to make use of the Tesla P4 passthrough inside a VM for games is to install a VMware Workstation/Player. This is nested virtualisation and this a different topic in of itself.

You would create a Workstation/Player Windows VM, assuming that it can recognise the Tesla P4 and its true DX11 capability. This is key as Workstation/Player by default will use DX11 to deliver the DX10 capability inside a VM. You may have to add a line to the vmx of the Workstation Player VM

mks.dx11.vendorID = "0x10de"

so that the Workstation/Player VM inside the ESXi VM will make use of the Tesla P4 pass through device. The possibility that this may not work would be because the VMware SVGA 3D display adapter inside the ESXi VM is not a true DX11 capable device. In the same way some of the Nvidia demos may not work because it also requires DX11 aside from CUDA.

Reply
0 Kudos