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 GPU (Graphics Processing Unit) pour certains outils. Cette technologie tire parti de 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 dont l’objectif est d’accélérer le rendu des 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 ou ultérieure sont pris en charge par l’outil. Votre système doit être équipé d’une carte adéquate pour pouvoir accéder à cette fonctionnalité.

Pour vérifier le type de carte graphique installée sur un ordinateur Windows, ouvrez le Gestionnaire de périphériques du 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 affichée, vérifiez le type de GPU installé à partir du Panneau de configuration NVIDIA :

  1. Cliquez avec le bouton droit de la souris sur une zone vide du Bureau.
  2. Dans le menu contextuel, cliquez sur Panneau de configuration NVIDIA.
  3. Dans la fenêtre de panneau de configuration, ouvrez le menu d’Aide et cliquez sur 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

L’outil utilise un GPU pour les calculs. Cependant, si votre ordinateur possède un seul GPU, celui-ci sera utilisé pour l’affichage et les calculs. 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.

Lorsqu’un système est équipé de plusieurs GPU, deux variables d’environnement système déterminent celui qui est utilisé : CUDA_DEVICE_ORDER et CUDA_VISIBLE_DEVICES.

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 la façon dont ils sont installés, définissez la variable d’environnement CUDA_DEVICE_ORDER sur 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. Pour ce faire, 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 utiliser de nouveau 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’environnements système CUDA_VISIBLE_DEVICES et CUDA_DEVICE_ORDER, consultez le Guide de programmation du kit 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 sur 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 sur 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 tel est le cas, 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 du 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 tenu pour responsable de tout problème lié au système résultant d’une modification incorrecte du registre. Vérifiez que vous disposez d’une sauvegarde valide du registre que vous pourrez utiliser en cas de problème ou demandez à un analyste système qualifié de procéder à la modification.

Rubriques connexes