Microsoft Windows a toujours été le système d’exploitation de choix pour les joueurs. Quand on parle de « PC gamer », on imagine généralement une machine sous Windows. Cela est dû au fait que Windows prend en charge différentes configurations matérielles (CPUs et cartes graphiques) et possède également des API bien conçues et standardisées pour le développement des jeux. Microsoft introduit continuellement de nouvelles fonctionnalités pour l’optimisation du matériel et des logiciels informatiques afin d’améliorer l’expérience utilisateur et la performance système. L’une de ces innovations qui a attiré l’attention des joueurs et des passionnés est la « Planification GPU Accélérée par Matériel ».
Qu’est-ce que la planification ?
La planification, dans le contexte des ordinateurs et des systèmes d’exploitation, fait référence au processus de détermination de l’ordre et du moment où diverses tâches ou processus sont exécutés sur l’unité centrale de traitement (CPU) d’un ordinateur ou d’autres ressources système. Elle joue un rôle critique dans divers systèmes informatiques, allant des CPUs monocœurs aux processeurs multicœurs, GPU et environnements de calcul distribués. L’objectif principal de la planification est d’optimiser l’utilisation des ressources système, d’améliorer l’efficacité et de fournir une allocation des ressources réactive et équitable.
Dans un environnement multitâche, plusieurs processus ou tâches se disputent les ressources limitées disponibles, telles que le temps CPU, la mémoire et les opérations d’entrée/sortie. Les algorithmes de planification jouent un rôle crucial dans la décision du processus à exécuter ensuite et pendant combien de temps, en fonction de certains critères.
- Planification préemptive : Le système d’exploitation peut interrompre un processus en cours d’exécution et passer à un autre processus en fonction de la priorité ou du quantum de temps. Des exemples incluent Round Robin et la planification par priorité.
- Planification non préemptive : Un processus conserve le CPU jusqu’à ce qu’il le libère volontairement. Des exemples incluent le premier arrivé, premier servi (FCFS) et la planification du job le plus court suivant (SJN).
La planification I/O consiste à gérer l’ordre dans lequel les requêtes I/O sont traitées. L’objectif est de minimiser le temps que les processus passent à attendre les opérations d’I/O.
Comprendre la planification GPU
La planification GPU (unité de traitement graphique) est un aspect crucial de la gestion de l’exécution des tâches sur les GPU modernes. Dans une chaîne graphique typique, plusieurs tâches, telles que le rendu, l’ombrage et les opérations de calcul, sont soumises par les applications ou le système d’exploitation pour être traitées par le GPU. Le pipeline d’exécution GPU se compose de plusieurs étapes qui traitent les tâches en parallèle pour atteindre un haut débit et une bonne performance.
Ce pipeline comprend des étapes comme le traitement des sommets, l’ombrage géométrique, la rasterisation, l’ombrage des pixels et l’accès mémoire. Chaque étape implique des tâches spécifiques, telles que la transformation des sommets, l’ombrage des pixels et la gestion des opérations mémoire. Le rôle du planificateur GPU est de gérer efficacement la distribution de ces tâches aux unités de traitement disponibles au sein du pipeline.
Les unités d’exécution d’un GPU, telles que les cœurs CUDA ou les unités de shader, fonctionnent en parallèle, permettant de traiter plusieurs tâches simultanément. Une planification efficace garantit que ces unités d’exécution sont pleinement utilisées et que les dépendances de données entre les tâches sont gérées pour éviter les conflits. Elle permet également d’atteindre des performances optimales, une faible latence et une utilisation adéquate des ressources.
Planification GPU dans Windows
Du côté du GPU, Windows a développé WDDM ou Windows Display Driver Model, qui est une architecture de pilote graphique pour les cartes graphiques. Il prend en charge la mémoire virtuelle, la planification, le partage des surfaces Direct3D, etc.
Parmi toutes ces fonctionnalités, le Planificateur GPU WDDM est très important car il a remplacé le style de file d’attente traditionnel « FIFO » par une planification basée sur la priorité. Même avec les versions plus récentes de WDDM, l’algorithme de planification était plus ou moins le même, c’est-à-dire qu’un thread à haute priorité a du temps CPU.
Cet approche a certaines limitations fondamentales. Par exemple, un thread d’application devant travailler sur le GPU à un moment ‘x’ doit avoir le CPU préparant les commandes pour le GPU à l’instant ‘x-1’. Ainsi, lorsque le GPU travaille sur l’image ‘n’, le CPU commence à préparer les commandes pour l’image ‘n+1’.
Essentiellement, ce tamponnement des commandes GPU par le CPU pourrait minimiser la surcharge de planification, mais aura un impact significatif sur la latence. Les entrées utilisateur prises par le CPU ne seront pas traitées par le GPU avant l’image suivante.
Défis de la planification traditionnelle basée sur le logiciel
Les planificateurs ont traditionnellement fait partie de l’Operating System, c’est-à-dire qu’ils sont essentiellement un logiciel. Même si des planificateurs matériels sont disponibles (sous forme de FPGA programmables ou d’ASIC), ils sont principalement confinés aux systèmes en temps réel strict pour supporter un unique algorithme de planification.
Dans la planification traditionnelle basée sur le logiciel, le noyau du système d’exploitation gère les files d’attente des tâches et change entre les tâches en utilisant des interruptions logicielles. Cela implique des interactions entre le CPU et le GPU, menant à des retards et des surcharges potentielles. Les commutations de contexte, où le GPU passe de l’exécution d’une tâche à une autre, peuvent introduire de la latence et réduire les performances générales du système.
La planification GPU traditionnelle basée sur le logiciel a des limitations qui peuvent nuire à la performance et à la réactivité.
- Les commutations de contexte basées sur le logiciel impliquent une communication entre le CPU et le GPU, ce qui entraîne des retards et des surcharges. Cette surcharge devient problématique lorsque des changements rapides de tâche sont nécessaires.
- À mesure que le nombre de cœurs CPU et d’unités d’exécution GPU augmente, la complexité de la gestion et de la coordination des tâches augmente également. La planification traditionnelle basée sur le logiciel peut avoir des difficultés à gérer efficacement cette complexité croissante.
- La préemption, qui consiste à suspendre une tâche pour en exécuter une autre, est difficile à mettre en œuvre efficacement dans un environnement logiciel. La coordination de la préemption et de la reprise des tâches peut entraîner des inefficacités.
- Une gestion et une allocation de mémoire inefficaces peuvent entraîner une fragmentation des ressources, où la mémoire du GPU n’est pas utilisée de manière optimale. Cela peut conduire à une performance sous-optimale et même à des erreurs de mémoire épuisée.
- Les méthodes de planification traditionnelles peuvent manquer de contrôle fin sur l’équité, ce qui peut potentiellement conduire à certaines tâches à monopoliser les ressources pendant que d’autres sont en manque.
En réponse à ces défis, la planification GPU accélérée par matériel offre une solution prometteuse en déchargeant les tâches de planification vers des composants matériels dédiés sur le GPU, abordant ainsi ces limitations et améliorant les performances et l’efficacité globales.
Nécessité de l’accélération matérielle
Le besoin d’une planification GPU accélérée par matériel découle de la demande croissante pour des graphiques haute performance et des charges de travail de calcul. À mesure que les applications deviennent plus complexes et que les charges de travail se diversifient, les mécanismes de planification basés sur le logiciel peuvent rencontrer des difficultés à gérer efficacement ces demandes. Plusieurs facteurs contribuent à la nécessité de l’accélération matérielle.
- Les applications modernes utilisent un mélange de rendu graphique, de calculs d’IA, de simulations physiques, etc. La coordination de ces charges de travail diverses de manière efficace nécessite un processus de planification plus rationalisé et optimisé.
- Les GPU sont conçus pour le traitement parallèle, capables d’exécuter de nombreuses tâches simultanément. Cependant, la planification basée sur le logiciel peut ne pas exploiter pleinement ce parallélisme, entraînant une sous-utilisation des ressources GPU.
- Certaines applications, en particulier celles de rendu graphique en temps réel et de réalité virtuelle, sont sensibles à la latence. La planification traditionnelle avec intervention logicielle peut introduire des délais qui impactent l’expérience utilisateur.
- Avec l’essor des CPUs multicœurs et des GPUs avec un plus grand nombre d’unités de traitement, gérer efficacement un grand nombre de tâches devient difficile pour les méthodes de planification logicielle traditionnelle.
Qu’est-ce que la planification GPU accélérée par matériel ?
La planification GPU accélérée par matériel fait référence à l’utilisation de composants matériels dédiés au sein de l’unité de traitement graphique (GPU) pour gérer l’attribution et l’exécution des tâches. Contrairement à la planification traditionnelle basée sur le logiciel, où le CPU et le système d’exploitation gèrent les files d’attente de tâches et les commutations de contexte, la planification accélérée par matériel s’appuie sur un matériel spécialisé pour rationaliser ces opérations.
- En exécutant des tâches liées à la planification directement sur le matériel GPU, la surcharge associée à la communication entre le CPU et le GPU est réduite. Cela permet des transitions de tâches et des commutations de contexte plus rapides.
- Les composants matériels peuvent gérer les files d’attente et l’exécution des tâches en parallèle avec le traitement GPU, permettant à plus de tâches d’être planifiées et exécutées simultanément.
- Le matériel spécialisé peut allouer les unités de traitement et la mémoire de manière plus efficace, optimisant ainsi l’utilisation des ressources et améliorant les performances globales.
En mai 2020, Microsoft a publié une mise à jour pour Windows qui a introduit la planification GPU accélérée par matériel comme une option pour les cartes graphiques et les pilotes pris en charge. Grâce à cette mise à jour, Windows a désormais la capacité de décharger la planification GPU à un matériel dédié.
Bien que Windows conserve le contrôle sur la priorité des tâches et décide quelle application a la priorité pour la commutation de contexte, elle décharge les tâches à haute fréquence au Planificateur GPU dédié pour gérer la commutation de contexte entre les différents moteurs GPU.
A la fois NVIDIA et AMD (les deux principaux fabricants de cartes graphiques) se sont réjouis de cette avancée. Ils ont déclaré que cette nouvelle fonctionnalité de déplacer les tâches de planification du logiciel vers le matériel améliorera les performances du GPU, sa réactivité et réduira également la latence.
Exigences pour la planification GPU accélérée par matériel
La mise en œuvre de la planification GPU accélérée par matériel implique plusieurs exigences pour garantir son intégration réussie et son fonctionnement au sein d’un système informatique. Ces exigences concernent les considérations matérielles, logicielles et de compatibilité.
- Version de Windows : Windows 10 version 2004 (mise à jour de mai 2020) ou ultérieure est requise pour utiliser la fonctionnalité.
- Compatibilité du GPU : Pour les cartes graphiques NVIDIA : un GPU de la série 1000 ou ultérieure est nécessaire. Pour les cartes graphiques AMD : un GPU de la série 5600 ou ultérieure est recommandé.
- Pilotes d’affichage : Assurez-vous que les pilotes d’affichage de votre carte graphique (soit de Nvidia soit d’AMD) sont à jour pour garantir la compatibilité et des performances optimales.
En respectant ces exigences, les utilisateurs peuvent profiter de la fonctionnalité de planification GPU accélérée par matériel pour améliorer les performances graphiques de leur système, réduire la latence et améliorer la réactivité globale dans les applications et les charges de travail qui dépendent du GPU.
Comment activer la planification GPU accélérée par matériel ?
Activer la planification GPU accélérée par matériel implique d’ajuster les paramètres d’affichage de votre système d’exploitation Windows. Si vous avez une carte graphique compatible avec les bons pilotes et la mise à jour de Windows, la fonctionnalité de planification GPU accélérée par matériel sera disponible en option. Par défaut, la planification GPU accélérée par matériel est désactivée dans Windows 10 et Windows 11. Mais vous pouvez l’activer dans les paramètres. Voici comment faire sur un système compatible exécutant Windows 11 :
Conditions préalables
Assurez-vous que votre version de Windows est Windows 10 version 2004 (mise à jour de mai 2020) ou ultérieure. Vous pouvez vérifier votre version de Windows en tapant “winver” dans la barre de recherche du menu Démarrer et en appuyant sur Entrée. Vérifiez que votre GPU appartient à la série prise en charge. Pour NVIDIA, c’est la série 1000 ou ultérieure, et pour AMD, c’est la série 5600 ou ultérieure. Assurez-vous d’avoir installé les derniers pilotes graphiques pour votre GPU. Vous pouvez télécharger les derniers pilotes à partir du site Web de NVIDIA ou d’AMD.
Activer la planification GPU accélérée par matériel
Pour activer la planification GPU accélérée par matériel, suivez ces étapes.
- Cliquez avec le bouton droit sur le bureau et sélectionnez « Paramètres d’affichage ».
- Faites défiler vers le bas et cliquez sur « Paramètres graphiques » ou « Propriétés de l’adaptateur graphique ».
- Dans la fenêtre des paramètres graphiques ou des propriétés de l’adaptateur, cliquez sur le lien « Changer les paramètres graphiques par défaut » ou « Paramètres d’affichage avancés ».
- Cliquez sur l’interrupteur « Planification GPU accélérée par matériel » pour l’activer.
Après avoir activé la planification GPU accélérée par matériel, redémarrez votre ordinateur pour appliquer les modifications.
Activer la planification GPU accélérée par matériel via le Registre Windows
Avant d’apporter des modifications, créez une sauvegarde du Registre Windows pour garantir que vous pouvez le restaurer si nécessaire.
- Pressez la touche Windows + R pour ouvrir la boîte de dialogue Exécuter.
- Dans la boîte de dialogue Exécuter, tapez « regedit » et appuyez sur Entrée.
- Dans l’Éditeur du Registre, naviguez vers le chemin suivant : Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
- Sur la droite, localisez la clé « HwSchMode » et double-cliquez dessus.
- Définissez les « Données de valeur » sur 2 et assurez-vous que « Base » est réglé sur « Hexadécimal ».
- Après avoir effectué des modifications dans le Registre, redémarrez votre ordinateur pour que les changements prennent effet.
Pour désactiver la fonctionnalité à l’avenir, changez la valeur de la clé « HwSchMode » de 2 à 1.
Ceci est une méthode alternative pour activer la planification GPU accélérée par matériel en modifiant directement le Registre Windows. Cependant, comme pour toute modification du Registre, il faut faire preuve de prudence et suivre les instructions attentivement pour éviter des conséquences indésirables.
Devez-vous activer la planification GPU accélérée par matériel ?
Pour la plupart des utilisateurs de Windows, activer la planification GPU accélérée par matériel n’est probablement pas nécessaire, mais cela peut considérablement bénéficier aux joueurs. Si votre ordinateur a un CPU de niveau bas ou intermédiaire et subit une charge CPU élevée dans certains jeux, activer cette fonctionnalité pourrait être bénéfique.
Cette fonctionnalité décharge les tâches CPU vers le GPU, ce qui peut réduire la pression sur le CPU et améliorer les performances globales. Ce paramètre pourrait cependant ne pas améliorer l’expérience de jeu pour les utilisateurs avec des CPUs et des GPUs plus anciens et pourrait même l’aggraver.
Actuellement, seuls les ordinateurs Windows exécutant Windows 10 ou une version ultérieure et utilisant des GPUs relativement récents de Nvidia et AMD ont accès à ce paramètre. Bien que l’activation de la planification GPU accélérée par matériel puisse entraîner un léger gain de FPS (environ 4 ou 5 images), l’amélioration pourrait être moins perceptible sur du matériel plus récent comme le RTX 3060 (ou des cartes graphiques de niveau supérieur).
Il est conseillé aux utilisateurs d’expérimenter l’activation de ce paramètre pour voir s’il améliore les performances de leur système et de le garder activé, à moins que des problèmes ne surviennent après avoir activé la planification GPU accélérée par matériel. Bien que des images supplémentaires dans les jeux ne soient pas un résultat garanti, la réduction de l’utilisation du CPU peut contribuer à un fonctionnement plus fluide et plus constant. Microsoft suggère que des différences majeures dans le jeu peuvent ne pas être immédiatement visibles, mais que la fonctionnalité peut avoir des effets positifs sur les aspects liés au CPU. Malgré le besoin de redémarrage, l’activation et la désactivation de ce paramètre sont relativement simples.
Si la fonction n’est pas disponible pour votre système, il existe des méthodes alternatives pour améliorer les performances sans mettre à niveau le matériel. Par exemple, vous pouvez désactiver le tamponnement des images via les options du jeu ou le panneau de contrôle du pilote GPU. Cela peut aider à maintenir une bonne qualité visuelle sur du matériel plus ancien.
Conclusion
Dans le monde du traitement graphique, la planification GPU accélérée par matériel représente un progrès notable pour optimiser l’allocation des ressources et améliorer l’expérience utilisateur. C’est un processus de déchargement des tâches de planification liées au GPU vers un planificateur dédié sur le GPU, plutôt que d’être géré par le CPU (ou plutôt par le système d’exploitation). Lorsque Microsoft a d’abord annoncé cette fonctionnalité, toute l’industrie du jeu était extrêmement enthousiaste, mais les résultats et avis étaient mitigés (du moins au début).
Dans ce guide, nous avons vu à quel point il est facile d’activer (ou de désactiver) la planification GPU accélérée par matériel. Vous pouvez expérimenter cette fonctionnalité si vous avez la bonne combinaison de GPU et de pilotes et partager votre expérience.
Questions Fréquemment Posées (FAQs)
Quels sont les avantages de l’activation de la planification GPU accélérée par matériel ?
Réponse : Activer cette fonctionnalité peut entraîner une réduction de la latence dans les tâches graphiques et de calcul, une meilleure réactivité générale du système et un meilleur débit pour les applications qui dépendent du GPU. Cela permet de gérer les tâches plus efficacement directement sur le GPU, minimisant les retards causés par la communication CPU-GPU.
Y a-t-il un risque d’activer la planification GPU accélérée par matériel ?
Réponse : L’activation de la fonctionnalité elle-même ne devrait pas présenter de risque, car il s’agit d’une fonctionnalité prise en charge. Cependant, comme pour tout changement de système, il existe une légère possibilité de problèmes de compatibilité ou de comportement inattendu. Assurez-vous toujours d’avoir une sauvegarde de vos données et de votre registre avant d’apporter des modifications, et suivez les instructions officielles provenant de sources fiables pour minimiser les risques.
Puis-je activer la planification GPU accélérée par matériel sur un ordinateur portable ?
Réponse : Oui, si le GPU de votre ordinateur portable répond aux exigences de compatibilité (série NVIDIA 1000 ou ultérieure, série AMD 5600 ou ultérieure) et que la version de votre système d’exploitation est compatible (Windows 10 version 2004 ou ultérieure), vous devriez pouvoir activer la planification GPU accélérée par matériel sur des ordinateurs portables avec des GPUs dédiés.
Tous les jeux bénéficient-ils également de la planification GPU accélérée par matériel ?
Réponse : Les bénéfices de la planification GPU accélérée par matériel peuvent varier en fonction de la charge de travail. Les jeux et les applications qui impliquent des commutations de contexte fréquentes, un rendu en temps réel ou une forte utilisation du GPU devraient voir des améliorations plus significatives. Les applications moins intensives en GPU pourraient montrer des effets moins perceptibles.
Puis-je désactiver la planification GPU accélérée par matériel après l’avoir activée ?
Réponse : Oui, vous pouvez désactiver la planification GPU accélérée par matériel en inversant les étapes que vous avez suivies pour l’activer. Par exemple, vous pouvez basculer l’interrupteur « Planification GPU accélérée par matériel » dans les paramètres graphiques sur désactivé, ou si vous avez utilisé le Registre Windows pour l’activer, vous pouvez remettre la valeur de la clé « HwSchMode » à 1. Veillez toujours à redémarrer votre ordinateur après avoir effectué de telles modifications pour qu’elles prennent effet.