XenApp 7.14.1 and NVIDIA M10 - Licensing

Hi,

I am currently building a new Citrix environment for one of our customers. The environment is based on the components and software in the list below.

The environement consists of:

  • HP Proliant DL380 Gen9 servers
  • 2 NVIDIA M10 cards in each server
  • XenServer 7.12
  • XenApp 7.14.1
  • Windows Server 2016
  • Provisioning Services 7.14
  • NVIDIA-GRID-XenServer-7.2-367.106-370.12 drivers
  • NVIDIA License Server 2015.09.0 Build 170926.
  • NVIDIA Virtual Applications licenses

The problem is related to NVIDIA licensing on XenApp with GPU pass-through. We have aquired and installed NVIDIA Virtual Applications licenses for the environment on a Windows Server 2016 license server. The decision to choose Virtual Applications licenses are based on the use of XenApp (published applications/desktops) as the resource delivery model.

I am currently building a master image for the solution. The master server VM is configured with GPU pass-through enabled. In the Manage License section of NVIDIA Control Panel I am only seeing "GRID Virtual Workstation" and "Tesla (Unlicensed)". I am not seeing Virtual Applications. If I enter the license server name and port, I get an error "Failed to acquire NVIDIA license. Your system is currently running GRID Virtual Workstation (unlicensed)." See attached screenshot. I have confirmed that port 7070 is open between the master VM and the license server. I have also tried assigning a vGPU profile (M10-8Q) instead of GPU pass-through to the master VM, but then I see no License Edition choices in the NVIDIA Control Panel.

Can anyone advice what could be wrong?

Hi

Out of interest, is there a specific reason you’ve chosen Passthrough and not vGPU?

If you use the 8Q or Passthrough, this gives you CUDA access which requires a Quadro vDWS license, which you do not have.

As you have a vApps license, use the 8A vGPU profile and see how you get on.

Regards

Thank you for replying to my thread. I chose passthrough based on input from a colleague in my company. He had some problems with vGPU profiles (hang/freezing XenApp sessions) in a previous project.

I’ve always been under the impression that GPU passthrough would give the most graphic processing power to a XenApp server, not vGPU profiles. The thought of having a dedicated GPU assigned to a single XenApp server sounds plausible. Am I wrong?

I will give the M10-8A vGPU profile a go, but do we have the correct license (vApp)? How can I select vApp as licensing from the NVIDIA Control Panel?

Assigning an 8GB vGPU profile gives the VM sole access / use of the "physical" GPU that the Framebuffer is part of. Performance wise, you will notice no difference. For example, if you were using a 4GB vGPU profile, then 2 VMs could share the same "physical" GPU, and with a 2GB vGPU profile, 4 VMs could share access to the same "physical" GPU. But by using 8GB, there is no more Framebuffer to be shared with other VMs, so this VM retains sole access / use of this GPU, which gives the best performance.

The main different between Passthrough and vGPU is that there is a frame rate limiter with vGPU, which is set to 60 fps. With Passthrough, there is no frame rate limiter. Screen resolution and the total amount of monitors are also a consideration. As mentioned above, Passthrough also gives access to CUDA, as does the 8Q vGPU profile. But regardless of which Framebuffer profile you chose, the GPU processing performance is the same, it just depends how may VMs you have accessing it.

Regarding the vApp license, you mention in your first post that you have "- NVIDIA Virtual Applications licenses", so I’m assuming that you have the correct licenses available for this model.

Here’s a link that will help you out with the deployment, there’s lots of good information here: NVIDIA Virtual GPU Software Documentation

Regards

Thanks for clarifying the difference between passthrough and vGPU. That’s why I love working with IT, I learn something new every day :)

I gave the master VM a M10-8A vGPU profile as you suggested and was able to license the VM through NVIDIA Control Panel (Your system is licensed for GRID vGPU). But, when using the M10-8Q vGPU profile, I’m not able to license the VM (Failed to acquire NVIDIA vGPU license).

The same goes for GPU passthrough, I can’t license the VM (Failed to acquire NVIDIA lisense. Your system is currently running GRID Virtual Workstation (unlicensed).

Do you have any explanation as to why I can’t license the VM using either GPU passthrough or 8Q profile? Is it related to my vApps (Virtual Applications) licenses?

Yes, because you don’t have the correct license for it :-)

The licenses are vApp, vPC or vDWS (vGPU profiles: *A, *B, Q ( = the amount of Framebuffer you choose to allocate))

Page 2 of this guide: https://images.nvidia.com/content/grid/pdf/GRID-Licensing-Guide.pdf and page 3 on wards will show you all the different vGPU profiles and GPUs

Regards

Just to be clear, am I correct in assuming that GPU passthrough requires a GRID Virtual Workstation license? And that the only "passthrough" supported for GRID Virtual Application license is through a 8GB 1:1 vGPU profile?

Yes, Passthrough requires a Quadro vDWS license for full functionality.

Don’t understand what you mean by this:

There is only 1 type of Passthrough. You’re basically bypassing the NVIDIA driver in the hypervisor. Think of it the same as bare metal.

Please take a look at the attached screenshot (nvidia2.png) which shows a license comparison table. Here you’ll see that GRID Virtual Applications license supports GPU passthrough, but only through using a 8GB 1:1 vGPU profile.
nvidia2.png

No idea where that came from, but here’s the most recent documentation:

https://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html#features-grid-vgpu

[i]"CUDA and OpenCL are supported on these virtual GPUs:

The 8Q vGPU type on Tesla M6, Tesla M10, and Tesla M60 GPUs.
All Q-series vGPU types on the following GPUs:
Tesla P4
Tesla P6
Tesla P40
Tesla P100"[/i]

So reading between the lines, there’s no mention of CUDA being supported on any A profiles, if that’s what you’re after, regardless of whether vGPU or Passthrough is used …

Ok, great, thanks a lot for your input, much appreciated :)