Arcpy Parallel Processing-Umgebung


22

Ich habe kürzlich die Umgebungseinstellung " Parallelverarbeitung" in ArcGIS entdeckt (dies muss neu in 10.1 sein). Es wird jedoch nicht erwähnt, welche Tools für die Verwendung dieser Umgebungseinstellung entwickelt wurden. ESRI bietet ein Beispiel zum Festlegen der Parallelverarbeitungsumgebung:

import arcpy

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

Meine Fragen sind sehr eng miteinander verbunden, daher füge ich sie in denselben Thread ein:

  1. Welche Geoverarbeitungswerkzeuge berücksichtigen die Parallelverarbeitungsumgebung?
  2. Sind dies lokale oder globale Einstellungen (dh können Sie die Umgebung zu Beginn des Arcpy-Skripts festlegen und alle entsprechenden Tools berücksichtigen die Umgebungseinstellung danach?)?
  3. Sind die meisten Geoverarbeitungswerkzeuge bereits auf Folgendes eingestellt: arcpy.env.parallelProcessingFactor = "100%"Standardmäßig?

Nice pickup @Aaron
om_henners

Antworten:


12

Neu bei 10.1 SP1, von dem, was ich finden kann.

Dies ist keine vollständige Antwort, aber eine schnelle Suche nach behobenen "Bugs" ergab Verweise auf Mosaik-Datasets und geostatistische Analysetools. Letzteres hat ein Thema . Hinweis: Obwohl dieses Thema anscheinend nicht direkt mit dem Parallelverarbeitungsfaktor zusammenhängt.

Zur Verdeutlichung bearbeiten: Viele geostatistische Werkzeuge unterstützen jetzt die Parallelverarbeitung, scheinen jedoch nicht den "Parallelverarbeitungsfaktor" zu unterstützen, der für bestimmte andere Werkzeuge in der Geoverarbeitung verfügbar ist.

In einer Werkzeugreferenz sollte "Parallelverarbeitungsfaktor" im Abschnitt "Umgebungen" aufgeführt sein, wenn die Einstellung unterstützt wird. Das Kachel-Cache-Toolset scheint den Faktor ebenfalls zu unterstützen.


2
Ich kann bestätigen geostatistical analyst tools- habe den Assistenten heute ausprobiert und viele Schritte waren glücklich, 8 Kerne zu verwenden ... endlich! =)
radek

5
resources.arcgis.com/en/help/main/10.1/index.html#//… listen Sie die Tools auf, die Parallelverarbeitung fürgeostatistical analyst tools
Mapperz

1
Neugierig, basiert die Implementierung auf Python, C ++ oder .NET?
blah238

resources.arcgis.com/en/help/main/10.2/#/... Von "Was ist neu" für ArcGIS 10.2 Spatial Analyst: „Multicore - Unterstützung für die folgenden Tools hinzugefügt wurde: Reclassify, Weighted Overlay, Weighted Sum, Zonal Statistics, Zonenstatistik als Tabelle. "
DPierce

3

Ich habe selbst danach gesucht und einige Antworten gefunden:

1) Welche Geoverarbeitungswerkzeuge berücksichtigen die Parallelverarbeitungsumgebung?

Ich konnte keine umfassende Liste mit anderen als den in der anderen Antwort verknüpften finden. Wenn Sie sich jedoch die Referenz für das Geoverarbeitungs-Tool ansehen, können Sie anhand der Liste der unterstützten Umgebungen im unteren Bereich feststellen, ob dieses Tool verwendet wird. Wenn in den Umgebungen "Parallel Processing Factor" aufgeführt ist, wird dies unterstützt. Ansonsten nicht. Es handelt sich nicht um eine vollständige Auflistung, aber Sie können zumindest die Unterstützung für ein bestimmtes Tool nachschlagen.

2) Handelt es sich um lokale oder globale Einstellungen (dh können Sie die Umgebung zu Beginn des Arcpy-Skripts festlegen und alle entsprechenden Tools berücksichtigen danach die Umgebungseinstellung?

Mein Verständnis ist, dass es sich wie andere Umgebungen verhält und beides sein kann. Wenn Sie es beim Ausführen im Geoverarbeitungswerkzeug selbst festlegen, ist es lokal. Wenn Sie es jedoch in ArcMap-Umgebungen oder arcpy-Umgebungen festlegen, ist es für diese Sitzung global. Ich könnte falsch liegen, aber ich habe nichts gelesen, was darauf hinweist, dass es sich anders verhält.

3) Sind die meisten Geoverarbeitungswerkzeuge standardmäßig auf arcpy.env.parallelProcessingFactor = "100%" eingestellt?

Zumindest nicht unbedingt. Es ist nicht spezifiziert. Auf dieser Hilfeseite für ArcGIS 10.2 können Sie die Anzahl der Werkzeuge standardmäßig festlegen. In Anbetracht der anderen Dokumentation auf dieser Seite, in der die optimalen Einstellungen für jedes Tool angegeben sind, je nachdem, ob es festplatten- oder CPU-gebunden ist, kann die Anzahl der Threads zwischen der Verwendung eines einzelnen Kerns und der Erstellung eines Vielfachen der Anzahl der Threads von CPUs variieren. Sie sagen das nicht, aber das ist meine Interpretation der Vorgabe, die sie spezifizieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.