Skip to main content

Traitement GPU avec Spatial Analyst

Disponible avec une licence Spatial Analyst.

Disponible avec une licence 3D Analyst.

ArcGIS Pro présente maintenant de meilleures performances grâce à l’utilisation du traitement du processeur graphique (GPU) pour certains outils. Cette technologie utilise la puissance informatique des cartes graphiques qui équipent les ordinateurs modernes pour augmenter les performances de certaines opérations.

Les outils suivants prennent en charge le traitement GPU :

Traitement GPU

Un GPU est un composant matériel d’un ordinateur qui accélère le rendu de graphiques à l’écran. Récemment, la puissance de traitement des GPU a été exploitée pour réaliser des tâches informatiques d’ordre général.

Dans le cas d’outils accélérés par le GPU, la tâche de traitement raster est dirigée vers le GPU plutôt que vers le CPU (Central Processing Unit). Certains types d’opérations bénéficient de cette approche. Dans ces cas, le logiciel divise la tâche de traitement en petites parties, qui sont envoyées au GPU pour les calculs. Le GPU effectue les calculs en parallèle pour toutes les petites parties à une vitesse plus élevée. Les données résultantes sont renvoyées et le logiciel assemble de nouveau les composants individuels en un produit complet final.

Cartes et pilotes de GPU pris en charge

Plusieurs solutions sont disponibles pour le traitement GPU. Actuellement, seuls les GPU NVIDIA dotés de fonctionnalités de calcul CUDA de version 5.2 au minimum sont pris en charge par les outils. Votre système doit être équipé d’une carte adéquate pour pouvoir accéder à cette fonctionnalité. Pour l’analyse du rayonnement solaire, une fonctionnalité de calcul CUDA de version 7.0 ou ultérieure est recommandée pour profiter pleinement des améliorations supplémentaires en matière de performances du GPU.

Pour déterminer le type de carte graphique présent sur un ordinateur Windows, ouvrez le Gestionnaire de périphériques de votre système et développez Cartes graphiques. Les marques et les types de cartes graphiques y sont répertoriés. Si aucune carte graphique NVIDIA n’est affichée, vous n’avez pas accès à cette fonctionnalité et l’outil utilise le processeur.

Si une carte graphique NVIDIA est répertoriée, vérifiez le type de GPU installé sur votre système depuis le panneau de configuration NVIDIA, comme suit :

  1. Cliquez avec le bouton droit de la souris sur une zone vide du Bureau.

  2. Dans le menu contextuel, cliquez sur Show more options (Afficher plus d’options) (ou appuyez sur Maj+F10 sur le clavier).

  3. Cliquez sur NVIDIA Control Panel (Panneau de configuration NVIDIA).

  4. Dans la fenêtre du panneau de configuration, accédez au menu d’aide et cliquez sur System Information (Informations système).

    Toutes les cartes graphiques NVIDIA, les versions des pilotes et d’autres propriétés s’affichent.

Une fois que vous avez déterminé le type de carte GPU NVIDIA, recherchez sa fonctionnalité de calcul CUDA sur la page d’Aide NVIDIA concernant les GPU CUDA. Dans la section adéquate, localisez la carte GPU et prenez note de la valeur de fonctionnalités de calcul indiquée. Pour être prise en charge par l’outil, sa version doit être 5.2 ou ultérieure.

Une carte de GPU est installée sur une machine avec un pilote par défaut. Avant d’exécuter un outil d’analyse avec un GPU, vous devez mettre à jour les pilotes de carte GPU à la version la plus récente que vous trouverez sur la page de mise à jour de pilotes NVIDIA.

Configuration du GPU

Les outils ne peuvent utiliser qu’un seul GPU pour le calcul. Cependant, si votre ordinateur ne possède qu’un seul GPU, celui-ci sera utilisé à la fois pour l’affichage et le calcul. Dans ce cas, un message d’avertissement s’affiche au moment de l’exécution de l’outil indiquant que l’affichage peut sembler ne pas répondre. Pour l’analyse spatiale, il est recommandé d’utiliser deux GPU : un pour l’affichage et l’autre pour les calculs.

Si votre système compte plusieurs GPU, le paramètre d’environnement GPU ID (ID GPU) et deux variables d’environnement système (CUDA_DEVICE_ORDER et CUDA_VISIBLE_DEVICES) déterminent quel GPU sera utilisé.

Par défaut, la variable d’environnement système CUDA_DEVICE_ORDER est définie sur FASTEST_FIRST. Cela signifie que les GPU sont numérotés du plus rapide au plus lent, en commençant par 0. Pour numéroter les GPU en fonction de leur installation sur une machine, remplacez la valeur du paramètre d’environnement CUDA_DEVICE_ORDER par PCI_BUS_ID.

Un GPU TCC (Tesla Computer Cluster) est considéré comme étant plus rapide qu’un GPU WDDM (Windows Display Driver Model) par défaut. Il est donc affiché en premier (index 0) et utilisé pour exécuter l’outil par défaut. Si aucun GPU n’est disponible en mode de pilote TCC et que la variable d’environnement CUDA_DEVICE_ORDER est définie sur la valeur par défaut, le GPU le plus rapide (avec l’index 0) est utilisé, sauf spécification contraire.

Pour spécifier un GPU ou le désactiver, vous pouvez définir les variables d’environnement système CUDA_DEVICE_ORDER et CUDA_VISIBLE_DEVICES en procédant comme suit :

  • Pour utiliser un GPU différent, indiquez-le dans la variable d’environnement système CUDA_VISIBLE_DEVICES. Vous devez d’abord créer cette variable d’environnement si elle n’existe pas déjà dans votre système. Définissez ensuite sa valeur à la valeur d’index (0 pour la première, 1 pour la deuxième, etc.) qui représente le GPU à utiliser, puis redémarrez l’application. La valeur d’index dépend de l’ordre déterminé par la variable d’environnement système CUDA_DEVICE_ORDER. Pour modifier la valeur de CUDA_DEVICE_ORDER, procédez comme pour la variable d’environnement système CUDA_VISIBLE_DEVICES.

  • Si vous ne souhaitez pas que l’analyse utilise l’un des GPU installés sur votre système, définissez la variable d’environnement système CUDA_VISIBLE_DEVICES sur -1 et redémarrez l’application. L’outil s’exécute en utilisant uniquement le CPU.

  • Pour qu’un outil puisse de nouveau utiliser le GPU, supprimez la variable d’environnement système CUDA_VISIBLE_DEVICES ou définissez sa valeur sur la valeur d’index du GPU que vous voulez utiliser, puis redémarrez l’application.

Pour plus d’informations sur les variables d’environnement système CUDA_VISIBLE_DEVICES et CUDA_DEVICE_ORDER, consultez le Guide de programmation du kit d’outils CUDA.

Les sous-sections suivantes expliquent la procédure de configuration recommandée pour parvenir à un traitement optimal lors de l’utilisation des fonctionnalités du GPU.

Définir le mode de pilote TCC

Pour les GPU NVIDIA, le GPU utilisé pour les calculs doit utiliser le pilote TCC, plutôt que le pilote WDDM par défaut. Le mode TCC permet un fonctionnement plus efficace du GPU.

Pour activer le mode de pilote TCC, utilisez le programme de contrôle de l’interface de gestion du système NVIDIA, généralement disponible dans C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Par exemple, la commande 'nvidia-smi -dm 1 -i 2' bascule la carte dont l’ID de périphérique est 2 en mode d’affichage 1 (TCC).

Remarque :

Si vous exécutez ArcGIS Server, le GPU utilisé pour les calculs doit être en mode de pilote TCC.

Désactiver le mode ECC

Désactivez le mode Error Correcting Code (ECC) correspondant au GPU utilisé pour les calculs, car il réduit la mémoire disponible pour le GPU.

Pour désactiver le mode ECC, utilisez le programme de contrôle de l’interface de gestion du système NVIDIA (nvidia-smi), généralement disponible dans C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Par exemple, la commande 'nvidia-smi -e 0 -i 1' désactive le mode ECC pour le GPU dont l’ID de périphérique est 1.

Augmenter le paramètre TDR

SI le GPU utilisé pour les calculs se trouve en mode de pilote WDDM, le pilote du périphérique d’affichage de Windows peut redémarrer le GPU si des calculs prennent plus que quelques secondes. C’est ce que l’on appelle la condition Windows Timeout Detection and Recovery (TDR). Si cela se produit, l’exécution de l’outil échoue et une erreur de GPU est renvoyée.

Pour éviter cette situation, vous pouvez modifier la clé du registre TdrDelay. En la définissant à une valeur adéquate (par exemple, 60 secondes), cela laisse suffisamment de temps pour terminer une opération longue avant le déclenchement de la condition TDR. Sur la plupart des systèmes Windows, le chemin d’accès à la clé TdrDelay dans le registre est HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers. Si la cléTdrDelay n’existe pas, vous devez la créer dans ce chemin. Lorsque vous créez ou modifiez cette valeur de registre, vous devez sauvegarder le registre au préalable. Vous devez redémarrer la machine pour que cette modification prenne effet. Pour plus d’informations, reportez-vous à Timeout detection and recovery (TDR) dans la documentation Microsoft pour développeurs.

Attention :

Esri ne pourra être tenue pour responsable de tout problème lié au système résultant d’une modification incorrecte du registre. Assurez-vous de disposer d’une sauvegarde valide du registre à laquelle vous pourrez revenir en cas de problème ou demandez à un analyste système qualifié de procéder à la modification.