Advice for developers and partners working with GPUs
This page is intend to assist the developer or engineer working with GPU technologies, developing rich applications or looking to certify servers for the XenServer HCL. This page is intended to carry advice for those debugging GPU issues and assist them in that debugging of their test systems and application integration.
Benchmarking and Monitoring
- Some 3rd party tools and benchmarks to assess GPU technology performance are detailed on this page.
CPU Turbo Mode
- Some CAD/3D applications perform well if CPU turbo mode is enabled, it is very application specific and you will have to try it with your own workloads to assess the benefits some advice is offered on this page
Checking whether dom0 has your main graphics assigned to it
In XS6.2 (Hotfix XS62E005) we introduced code to prevent the user being able to assign a graphics card (GPU) to a guest VM if it is being used by dom0. This has caused some confusion and questions. Dom0 will use whichever graphics card the BIOS configures as the primary graphics device. By default, BIOSes tend to pick the best adapter they can find as the primary device. This means if you have added a nice powerful NVIDIA K5000 and it is not available in XenCenter, dom0 will most likely be using it.
If you suspect that you are encountering this issue you can verify which graphics device dom0 is using by following the debug instructions, here.
If you have an onboard graphics device, you should reconfigure your BIOS to use the onboard graphics as the primary graphics device which will make your main card available and visible in XenCenter.
Because of the compatability PCI routing for the legacy VGA adaptor, it is completely unsafe to perform PCIPassthrough on the device set up as the legacy VGA adaptor. Symptoms of accidentally doing so or forcing a VM to share the dom0 device, can be any of:
- Host crash caused by the guest VM
- Instant system reset when taking the device away from dom0
- PCI SERR/IOCK NMI errors
- Graphical artefacts
The seriousness of the effects of inadvertently sharing a graphics device was the reason we released the hotfix to prevent users encountering an issue that could cause them serious issues.
CPU Pinning To Increase Performance
When using XenServer GPU technologies such as vGPU or GPU-passthrough, CPU pinning can sometimes be used to fine-tune XenServer deployments for optimal performance as it can enable shorter memory access times, particularly on NUMA-based hosts.
Further advice on CPU pinning:
- How to use host-cpu-tune to fine tune XenServer 6.2.0 performance: see CTX139714
- NVIDIA vGPU Tech Preview Notes: see Appendix in this document (note this document pertains to a tech preview and should be used appropriately)