Notebookcheck Logo

Un piratage permet de déverrouiller la fonctionnalité de virtualisation du GPU sur les cartes NVIDIA grand public

NVIDIA n'autorise officiellement le vGPU que sur certaines cartes Quadro haut de gamme et de datacenter. (Image Source : NVIDIA)
NVIDIA n'autorise officiellement le vGPU que sur certaines cartes Quadro haut de gamme et de datacenter. (Image Source : NVIDIA)
La virtualisation du GPU ou vGPU permet de partager les ressources du GPU entre plusieurs VM ou machines distantes et est traditionnellement limitée à certains centres de données et cartes Quadro haut de gamme. Aujourd'hui, un mod relativement simple est apparu sur GitHub qui permet d'activer la fonctionnalité vGPU même sur les GPU NVIDIA grand public sur un hôte Linux, à condition qu'ils soient basés sur le même GPU physique qu'une carte Tesla compatible vGPU.

Une équipe de passionnés a réussi à activer la virtualisation du GPU dans les cartes NVIDIA grand public en utilisant une simple modification pour tromper le pilote. Ce mod permet aux propriétaires de plusieurs cartes NVIDIA grand public de partager un seul GPU avec plusieurs machines physiques ou virtuelles, ce qui n'est autrement possible que dans les variantes de centre de données de ces cartes, comme la gamme Tesla et quelques Quadro. Actuellement, NVIDIA ne permet d'utiliser qu'un seul GPU via le mode GPU passthrough

Comme la virtualisation du CPU, la virtualisation du GPU, ou vGPU, permet de distribuer les ressources du GPU à des machines virtuelles individuelles, ce qui leur permet d'exécuter des charges de travail de calcul et de 3D similaires à une configuration native. Une carte graphique moderne haut de gamme grand public est souvent suffisamment puissante pour que ses ressources puissent être partagées entre plusieurs machines en fonction de la charge de travail. Bien que le matériel soit théoriquement capable de vGPU, les fabricants de cartes, tels qu'AMD et NVIDIA, limitent artificiellement cette fonctionnalité par le biais de logiciels afin de séparer leurs offres grand public de celles destinées aux stations de travail et aux centres de données

Le mod actuel, appelé vgpu_unlock, permet de contourner cette limitation en incitant le pilote à considérer un GPU NVIDIA grand public comme une variante Tesla. Comme conditions préalables, ce mod nécessite le pilote NVIDIA GRID vGPU, le paquet Dynamic Kernel Module System (dkms), et Python 3 installé sur un hôte Linux. Notez qu'en raison de problèmes de licence, ce mod n'arrivera presque jamais dans les versions grand public de Windows ou de VMware ESXi. Cependant, il devrait être possible d'utiliser des machines virtuelles Windows 10 sur Linux avec toutes les fonctionnalités du GPU

Actuellement, vgpu_unlock prend en charge plusieurs GPU NVIDIA grand public, notamment plusieurs cartes GP102, GP104, TU102, TU104 et GA102, à condition que la carte grand public ou Quadro soit fondamentalement la même puce physique qu'un GPU Tesla compatible vGPU. Il devrait également être possible de personnaliser davantage le mod si l'ID du périphérique PCIe correspondant du GPU est connu.

Cela dit, le mod vgpu_unlock ne remplace pas entièrement l'achat d'une solution vGPU recommandée par NVIDIA. Ces solutions sont validées par des ISV et sont en fait destinées à des applications professionnelles. Les seuls cas où nous trouvons des vGPU ou SR-IOV fonctionnant officiellement sur des cartes grand public sont les plateformes de jeux en ligne telles que GeForce Now et Google Stadia, où une seule carte sert souvent plusieurs joueurs connectés.

Toutefois, ce module offre aux utilisateurs de Linux la possibilité d'exploiter pleinement le potentiel de leur matériel GPU grand public. Par exemple, un système Linux peut héberger plusieurs machines virtuelles Windows (et même Mac) en même temps pour la création de contenu, les jeux, etc. Il peut également être possible d'offrir des services de bureau à distance avec une fonctionnalité GPU complète, mais la façon dont un tel service fonctionnerait avec ce mod reste à voir.

Liste des GPU actuellement supportés par le mod vgpu_unlock. (Source : DualCoder sur GitHub)
Liste des GPU actuellement supportés par le mod vgpu_unlock. (Source : DualCoder sur GitHub)
Please share our article, every link counts!
> Revues et rapports de ordinateurs portatifs et smartphones, ordiphones > Archives des nouvelles 2021 04 > Un piratage permet de déverrouiller la fonctionnalité de virtualisation du GPU sur les cartes NVIDIA grand public
Vaidyanathan Subramaniam, 2021-04-12 (Update: 2021-04-12)