Hyper-V et DDA de GPU

Anonyme
2024-05-13T15:42:30+00:00

Bonjour à tous,

Je viens vers vous pour m'aider sur un problème Hyper-V et DDA d'un carte graphique.

Voici les configurations. Les deux premières sont des configurations de tests sur lesquelles je n'ai aucun problème, la troisième configuration est celle que je dois mettre en prod et qui malheureusement a le problème.

Config 1 :
- ASUS Prime Z590M-Plus
- Intel Core i9-10900
- 64 Go DDR4

Config 2 :
- GIGABYTE GA-A320M-S2H
- AMD Ryzen 5 2600X
- 64 Go DDR4

Config 3 :
- GIGABYTE TRX50 AERO D
- AMD ThreadRipper 7960X
- 192 Go DDR5 ECC

Carte graphique :
- GIGABYTE WindForce V2 24G (RTX 4090)

Les tests ont été fait avec Windows Serveur 2019 et 2022 sur toutes les configs et Windows 10, Windows Server 2019 et 2022 dans les VMs.
Les drivers NVIDIA testés sont :
- 552.22
- 551.61
- 531.
- 528.

Sur toutes les configs, les bios sont les plus récents, les drivers sont les derniers en date (chipset, ...)

Dans tous les cas, la virtualisation Intel-Vt ou AMD SVM et IOMMU sont bien activés dans les bios.

L'idée est de rediriger les ligne PCIe de la carte graphique dans une machine virtuelle.

Cela fonctionne parfaitement bien avec les config 1 et 2, aucun problème.
Mais le problème est que cela ne fonctionne pas, ou presque pas avec la config 3.
Je m'explique, pas de problème pour faire la VM et pour rediriger les lignes PCIe vers la VM. La VM voie la carte graphique dans le gestionnaire de périphérique en 'Carte vidéo de base Microsoft' (cf capture 1), jusque là c'est normal.
Mais dès que j'installe les drivers de la carte graphique dans la VM, alors la carte graphique disparait (cf capture 2) ! Si j'affiche les périphérique cachés dans le gestionnaire de périphérique, la carte graphique est préseent en mode fantome (périphérique déconnecté) (cf capture 3). Evidemment sur les config 1 et 2 tout va bien ici.
Les propriétés de la carte graphique fantome sont visible sur la capture 4.
La capture 5 montre montre le résultat de la cmdlet powershell Get-PnpDevice.

Je ne comprends pas pourquoi cela ne fonctionne pas normalement sur la config 3, qui est malheureusement le serveur final que je dois mettre en place... grrrr
Je reprécise que cela fonctionne parfaitement bien sur les VMs des config 1 et 2 (cf capture 6). En capture 7 vous trouverez les cmdlet powershell utilisées pour la redirection des lignes PCIe.

Quelqu'un a t'il déjà rencontrer ce type de problème ou quelqu'un aurait-il une solution pour moi, s'il vous plaît ?

Je reste disponible pour tout complément d'information dont vous pourriez avoir besoin pour m'aider à résoudre mon problème.

Merci beaucoup du temps que vous avez passé à lire. ;-)

Cordialement,
Mx.

Windows Server - Haute disponibilité Virtualisation et Hyper-V

Question verrouillée. Cette question a été migrée à partir de la communauté de support Microsoft. Vous pouvez voter pour savoir si c’est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ou suivre la question. Pour protéger la vie privée, les profils d’utilisateur(-trice) des questions migrées sont anonymisés.

0 commentaires Aucun commentaire
{count} votes
Réponse acceptée
  1. Anonyme
    2024-05-15T16:26:07+00:00

    Bonjour à vous tous,

    Après beaucoup d'heures passées à chercher, j'ai finalement trouvé ma solution ce matin... à 4 heures du mat...

    Comme expliqué dans mon post de question, cela fonctionne parfaitement sur deux configurations mais pas sur la troisième qui est pourtant la finale.
    Pour ces trois configurations, tout a été testé : version d'OS hôte et invité, drivers, etc.

    La solution à ce problème est en fait un petit problème de plage mémoire allouée à la VM pour la gestion du DDA.

    Dans le script Powershell il faut modifier la valeur 'HighMemoryMappedIoSpace'. En effet dans la plus part de tutoriaux que l'on trouve sur internet, cette valeur est fixée à 33280Mb. Et j'avoue que cela fonctionne parfaitement bien sur les deux configuration de test. Mais pas sur la configuration 3 qui est le serveur final.

    Je ne sais pas pour la grande partie de tutos sur internet utilise cette valeur, mais en vrai elle ne rime à rien en fait.
    En plaçant cette valeur à 33720Mb (soit un vrai 32Gb) cela fonctionne parfaitement sur la configuration 3 (Aero D TRX50 et AMD ThreadRipper 7960X).
    De plus, si j'augmente encore cette valeur j'obtiens de meilleur performance. Alors dans mon cas, j'ai fixé cette valeur à 40Gb (soit 40960Mb mais on peut l'écrire en Gb sans problème).

    Voilà pour la solution, il fallait augmenter la valeur 'HighMemoryMappedIoSpace'.

    Merci à tous ceux qui pris le temps de lire et de réfléchir, et à Xu Gu qui a pris le temps de répondre.

    Cordialement,
    Mx.

    @All modérateurs : vous pouvez passer ce post en résolu sur ma réponse... car je n'ai pas la possibilité de le faire.

    2 personnes ont trouvé cette réponse utile.
    0 commentaires Aucun commentaire

2 réponses supplémentaires

Trier par : Le plus utile
  1. Anonyme
    2024-05-15T02:05:16+00:00

    Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.

    Salut Mx,

    J’espère que vous allez bien.

    Veuillez vous référer aux étapes de dépannage suivantes :

    1. Assurez-vous que la carte graphique GIGABYTE WindForce V2 24G (RTX 4090) est entièrement compatible avec la carte mère GIGABYTE TRX50 AERO D et le processeur AMD ThreadRipper 7960X. Parfois, certaines combinaisons de composants matériels peuvent présenter des problèmes de compatibilité qui peuvent affecter le relais GPU.
    2. Vérifiez les paramètres du BIOS sur la carte mère GIGABYTE TRX50 AERO D pour vous assurer que toutes les fonctionnalités de virtualisation nécessaires, telles que AMD SVM (Secure Virtual Machine) et IOMMU (Input/Output Memory Management Unit) sont activées.
    3. Essayez différentes versions de pilotes NVIDIA pour le GPU RTX 4090 pour voir si une version de pilote particulière fonctionne mieux avec le relais GPU Hyper-V sur la configuration 3. Parfois, certaines versions de pilotes peuvent avoir une meilleure compatibilité ou de meilleures performances.
    4. Assurez-vous que le système d’exploitation hôte (Windows Server 2019/2022) et le système d’exploitation invité (machines virtuelles Windows 10/Server 2019/2022) sont entièrement mis à jour avec les dernières mises à jour Windows, y compris les mises à jour facultatives.
    5. De plus, vous pouvez envisager de contacter le support GIGABYTE et NVIDIA pour obtenir de l’aide pour résoudre la compatibilité et les fonctionnalités du GPU RTX 4090 avec la carte mère GIGABYTE TRX50 AERO D et le relais GPU Hyper-V. Ils peuvent avoir des recommandations ou des solutions spécifiques basées sur leur expertise.

    Sinceres salutations

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-05-15T16:08:20+00:00

    Bonjour Xu Gu,

    Merci pour votre réponse.

    Comme vous pouvez le lire dans mon long post de question, les points 1 à 4 ont été fait avant de poster, cela est bien précisé.

    Pour le point 5, j'ai posté ce même post ici mais aussi sur le forum de la communauté GIGABYTE et AMD. ;-)

    J'ai trouvé la solution à mon problème cette nuit, je vais l'expliquer en répondant directement au post et non pas sur cette réponse qui vous concerne.

    Merci beaucoup d'avoir pris le temps de lire ma problématique et d'avoir essayé de me guider.

    Cordialement,

    Mx.

    0 commentaires Aucun commentaire