There seems to be a bit of confusion over which cards NVIDIA’s drivers support for GPU passthrough in virtualised environments such as those based on XenServer. NVIDIA has some quite phenomenally stringent QA that tests their hardware and software at scale. NVIDIA did delay expanding their support for passthrough for a little while to ensure full QA across a wide range of boards was provided. This has led to some old internet blogs and similar leading to rumours certain cards don’t have driver support for passthrough.

In fact NVIDIA expanded support way back in August 2013 to include popular choices like the K2000, K5000 and K6000. The release notes for the drivers (issued in August 2013) 320.78 describe the supported cards:

 

GPU Family Boards Supported
Kepler
  • GRID: K1, K2, K520, K340
  • Quadro: K2000, K4000, K5000, K6000
  • Tesla: K10, K20
Fermi
  • Quadro: 2000, 4000, 5000, 6000
  • Quadro-MXM: 1000M, 3000M
  • Tesla: C2050, C2075, M2050, M2070, M2070
Tesla
  • Quadro FX1800, 3800, 4800, 5800
  • Quadro-MXM: FX880M, FX2800M
  • Tesla: M1060, C1060

I would always recommend referring to NVIDIA or any hardware OEM’s own release notes rather than internet for support. The documentation is very detailed but you need to look for the section titled “SLI Multi-OS – GPU Assignment in System Virtualization”. Being on this list means the NVIDIA in-guest drivers support GPU pass-through for that card.

NVIDIA also issues support statements for server vendors and servers. This involves checking architectures are compatible and thermally and electrically viable.

This isn’t the whole support story though as GPU’s and Server’s interact at a very low level. To ensure users do not experience issues we certify passthrough as the combination of a server and a GPU on the XenServer HCL (Hardware Compatibility List). Many OEMs ship their server’s with only a small number of the available cards and given the vast matrix of possible cards and servers available we rely on OEMs and NVIDIA to certify those combinations seen in the field.

This means that if the card and server combination you’d like to use isn’t on the HCL you should contact your server vendor and point them at the partner certification program and ask for that combination of server and card to be supported. We do test what hardware we have in-house but there are so many combinations that the OEMs are best place to target the popular combinations.

If you want guaranteed support we recommend you do talk to your OEM and check the HCL if you are looking to buy new hardware as it offers a guarantee that it has been tested by us and is fully supported by Citrix and partner vendors.

In practice it is very likely many combinations will work even if they are not on the HCL though. Absence does not mean it will not work simply that it has not been fully tested or certified by Citrix in partnership with NVIDIA and the server vendor.

So for a card and server to be certified for XenServer the following steps happen:

  1. NVIDIA enable the card and support drivers for virtualisation (check NVIDIA driver release notes for the card you want to buy e.g. release notes for the drivers (issued in August 2013) 320.78 describe)
  2. NVIDIA and the server vendor agree the card and server combination can architecturally work together including thermal and electrical constraints. Check with NVIDIA and/or the server vendor that the server+card combination is supported.
  3. For guaranteed support with XenServer and Citrix support check the card+server combination is available on the HCL to ensure the combination has been certified and tested, http://hcl.xensource.com/.