NVIDIA L40s: Horizon cannot provision desktop pools with vGPU profiles
A customer recently bought several NVIDIA L40s cards to extend their Horizon environment. Provisioning failed for every desktop pool using an L40s vGPU profile.
A customer recently bought several NVIDIA L40s graphics cards to extend their Horizon environment. While setting up the desktop pools it turned out that Horizon could not provision when vGPU profiles for the L40s were used. After a good deal of analysis we found that the vGPU profiles for the NVIDIA L40s cards were missing:
Error during Provisioning Cloning of
has failed: Fault type is UNKNOWN_FAULT_FATAL – No GPU capable host available for provisioning with profile nvidia_l40s-2b. Please refer to VMware KB 59271 for more details.
The cause
The configuration file for the vGPU profiles on the Horizon Connection Server did not contain the profiles for the L40s. The card is simply too new. Without that configuration data, Horizon cannot recognise the L40s profiles and so cannot provision VMs with them.
Analysis and solution
- Verifying the profiles
- First we checked whether the profiles for the L40s were present in
graphic-profiles.propertiesat “C:\Program Files\VMware\VMware View\Server\broker\conf\graphic-profiles.properties”. As suspected, the entries were missing.
- First we checked whether the profiles for the L40s were present in
- The Omnissa knowledge base
- An article in the Omnissa knowledge base, KB-59271, describes this problem. Unfortunately it does not contain the file with the profiles.
- A fix with an amended file
- We prepared the
graphic-profiles.propertiesneeded for Horizon 2406. It contains the required vGPU profiles for the NVIDIA L40s.
- We prepared the
Steps to fix it
1. Extend the file
On the Horizon Connection Server, open graphic-profiles.properties:
C:\Program Files\VMware\VMware View\Server\broker\conf\graphic-profiles.properties
And append the following:
# NVIDIA L40S Profiles
# B-Series Virtual GPU Types for NVIDIA L40S
nvidia_l40s-1b=48
nvidia_l40s-2b=24
# Q-Series Virtual GPU Types for NVIDIA L40S
nvidia_l40s-1q=48
nvidia_l40s-2q=24
nvidia_l40s-3q=16
nvidia_l40s-4q=12
nvidia_l40s-6q=8
nvidia_l40s-8q=6
nvidia_l40s-12q=4
nvidia_l40s-16q=3
nvidia_l40s-24q=2
nvidia_l40s-48q=1
# A-Series Virtual GPU Types for NVIDIA L40S
nvidia_l40s-1a=48
nvidia_l40s-2a=24
nvidia_l40s-3a=16
nvidia_l40s-4a=12
nvidia_l40s-6a=8
nvidia_l40s-8a=6
nvidia_l40s-12a=4
nvidia_l40s-16a=3
nvidia_l40s-24a=2
nvidia_l40s-48a=1
2. Restart the service
After saving, restart the Horizon Connection Server service so the changes take effect:
- Open the Windows services management console.
- Find the
VMware Horizon View Connection Serverservice. - Right-click it and choose
Restart.
3. Test provisioning
Provision a desktop pool with the new L40s profiles. The profiles should now be recognised and provisioning should run through without trouble.
Conclusion
The missing profiles for the NVIDIA L40s cards are easy to fix by adding the amended configuration file. If you hit something similar, the same approach works for other graphics cards, as long as the corresponding profiles are available. For further questions or problems, contact your VMware or NVIDIA support.