Traitement GPU avec Spatial Analyst

Disponible avec une licence Spatial Analyst.

Spatial Analyst présente maintenant de meilleures performances grâce à l’utilisation des traitements 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 :

Qu’est-ce que le traitement GPU ?

Un GPU est un composant matériel de votre ordinateur dont le principal 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 ensuite les calculs en parallèle pour toutes ces 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 sur le marché pour le traitement GPU. Actuellement, seuls les GPU NVIDIA dotés de fonctionnalités de calcul CUDA de version 3.0 ou ultérieure sont pris en charge. Votre système doit être muni d'une carte adéquate pour pouvoir accéder à cette fonctionnalité.

Pour vérifier 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 de marque NVIDIA n’est affichée, vous n’aurez pas accès à cette fonctionnalité et l’outil utilisera uniquement le processeur.

Si vous possédez une carte graphique NVIDIA, vous devez vérifier le type de GPU installé dans votre système grâce au Panneau de configuration NVIDIA :

  1. Cliquez avec le bouton droit sur une zone vide de votre Bureau. Dans le menu contextuel, cliquez sur Panneau de configuration NVIDIA.
  2. 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 sur le site Web nvidia.com. Dans la section adéquate, localisez votre 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 3.0 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 vos pilotes de carte GPU vers la version la plus récente que vous trouverez sur la page de mise à jour des pilotes NVIDIA sur le site Web nvidia.com.

Configuration du GPU

L’outil utilise un seul 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. Par conséquent, 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 premier en mode de pilote TCC (Tesla Compute Cluster) est utilisé par défaut. Si aucun GPU n’est disponible en mode de pilote TCC, le premier GPU (avec l’index 0) est utilisé, sauf spécification contraire. Pour spécifier un GPU ou pour le désactiver, consultez les rubriques suivantes :

  • Pour utiliser un GPU différent, vous pouvez l’indiquer 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 périphérique de GPU à utiliser, puis redémarrez votre application.
  • Si vous ne souhaitez pas que l’analyse utilise l’un des périphériques de GPU installés sur votre système, vous pouvez définir la variable d’environnement système CUDA_VISIBLE_DEVICES sur -1 et redémarrer votre application. L’outil s’exécute ensuite avec le processeur graphique (GPU) uniquement.
  • Pour activer l’outil afin qu’il utilise de nouveau le périphérique de GPU, supprimez la variable d’environnement système CUDA_VISIBLE_DEVICES ou définissez sa valeur sur la valeur d’index du périphérique de GPU que vous voulez utiliser, puis redémarrez votre application.

Pour plus d’informations sur la variable d’environnement CUDA_VISIBLE_DEVICES, consultez le document CUDA Toolkit Programming Guide sur le site Web nvidia.com.

Les sous-sections suivantes expliquent la procédure de configuration recommandée pour parvenir à une exécution optimale 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 être défini de sorte à utiliser le pilote TCC, plutôt que le pilote Windows Display Driver Model (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' doit désactiver 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, il est possible que le pilote du périphérique d’affichage de Windows redémarre 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.

Vous pouvez apporter une modification à une clé du Registre, TdrDelay, pour éviter ce scénario. En la définissant à la 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. Sachez que 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. Microsoft Developers Network présente plus d’informations concernant la définition du délai TDR sur le site Web microsoft.com.

Attention :

Esri ne pourra être tenu pour responsable de tout problème lié au système résultant d’une modification incorrecte du registre. Veuillez effectuer une sauvegarde valide du registre que vous pourrez utiliser en cas de problème ou demander à des analystes système qualifiés de procéder à la modification.

Rubriques connexes