Environnement de traitement parallèle Arcpy

22

J'ai récemment découvert le paramètre d'environnement de traitement parallèle dans ArcGIS (cela doit être nouveau dans 10.1), cependant, il n'y a aucune mention quant aux outils qui sont conçus pour utiliser ce paramètre d'environnement. ESRI fournit un exemple de configuration de l'environnement de traitement parallèle:

import arcpy

# Use half of the cores on the machine.
arcpy.env.parallelProcessingFactor = "50%" 

Mes questions sont très étroitement liées, je les inclue donc dans le même fil:

  1. Quels outils de géotraitement respectent l'environnement de traitement parallèle?
  2. S'agit-il de paramètres locaux ou globaux (c.-à-d. Pouvez-vous définir l'environnement au début du script Arcpy et tous les outils respectifs respecteront le paramètre d'environnement par la suite?
  3. La plupart des outils de géotraitement sont-ils déjà définis sur: arcpy.env.parallelProcessingFactor = "100%"par défaut?
Aaron
la source
Nice pickup @Aaron
om_henners

Réponses:

12

Nouveau à 10.1 SP1, d'après ce que je peux trouver.

Ce n'est pas une réponse complète, mais une recherche rapide de «bogues» corrigés a révélé des références à des mosaïques et à des outils d'analyste géostatistique. Ce dernier a un sujet à ce sujet. Remarque: bien qu'il semble que cette rubrique ne soit pas directement liée au facteur de traitement parallèle.

Modifier pour clarification: de nombreux outils géostatistiques prennent désormais en charge le traitement parallèle mais ne semblent pas prendre en charge le "facteur de traitement parallèle" disponible pour certains autres outils de géotraitement.

Une référence d'outil doit répertorier le "facteur de traitement parallèle" dans la section des environnements si le paramètre est pris en charge. Le jeu d'outils de cache de tuiles semble également prendre en charge le facteur.

mkennedy
la source
2
Je peux confirmer geostatistical analyst tools- a essayé l'assistant aujourd'hui et de nombreuses étapes utilisaient heureusement 8 cœurs .. enfin! =)
radek
5
resources.arcgis.com/en/help/main/10.1/index.html#//… répertorier les outils qui prennent en charge le traitement parallèle pourgeostatistical analyst tools
Mapperz
1
Curieux, l'implémentation est-elle basée sur Python, C ++ ou .NET?
blah238
resources.arcgis.com/en/help/main/10.2/#/… Dans "Quoi de neuf" pour ArcGIS 10.2 Spatial Analyst: "La prise en charge multicœur a été ajoutée aux outils suivants: reclassification, superposition pondérée, somme pondérée, statistiques zonales, Statistiques zonales en tant que tableau. "
DPierce
3

Je cherchais juste cela moi-même et j'ai trouvé certaines des réponses:

1) Quels outils de géotraitement respectent l'environnement de traitement parallèle?

Je n'ai pas pu trouver une liste complète d'entre eux autres que ceux liés dans l'autre réponse, mais si vous regardez la référence de l'outil de géotraitement, vous pouvez dire pour cet outil par la liste des environnements qu'il prend en charge près du bas. S'il répertorie le "Facteur de traitement parallèle" dans les environnements, il le prend en charge. Sinon, ce n'est pas le cas. Ce n'est pas une liste complète, mais vous permet au moins de rechercher un support pour un outil particulier.

2) Ces paramètres sont-ils locaux ou globaux (c.-à-d. Pouvez-vous définir l'environnement au début du script Arcpy et tous les outils respectifs respecteront le paramètre d'environnement par la suite?

Ma compréhension est qu'elle agit comme les autres environnements et peut être les deux. Si vous le définissez sur l'outil de géotraitement lui-même lors de son exécution, il est local, mais si vous le définissez dans des environnements ArcMap ou des environnements arcpy, il est global pour cette session. Je peux me tromper sur ce point, mais je n'ai rien lu indiquant qu'il se comporte différemment.

3) La plupart des outils de géotraitement sont-ils déjà définis sur: arcpy.env.parallelProcessingFactor = "100%" par défaut?

Non, pas nécessairement, du moins. C'est non spécifié. Selon cette page d'aide d'ArcGIS 10.2, la valeur par défaut est de laisser chaque outil déterminer sa quantité. Compte tenu de l'autre documentation sur cette page indiquant les paramètres optimaux pour chaque outil selon qu'il est lié au disque ou lié au processeur, j'imagine que cela peut varier entre l'utilisation d'un seul cœur et la création de plusieurs fois autant de threads que de CPU. Ils ne disent pas cela, mais c'est mon interprétation de la valeur par défaut qu'ils spécifient.

nicksan
la source