Arcpy Parallel Processing Environment


22

Di recente ho scoperto l' impostazione dell'ambiente di elaborazione parallela in ArcGIS (questa deve essere nuova alla 10.1), tuttavia, non si fa menzione di quali strumenti sono progettati per utilizzare questa impostazione di ambiente. ESRI fornisce un esempio di come impostare l'ambiente di elaborazione parallelo:

import arcpy

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

Le mie domande sono strettamente correlate, quindi le includo nella stessa discussione:

  1. Quali strumenti di geoprocessing onorano l'ambiente di elaborazione parallelo?
  2. Queste sono impostazioni locali o globali (ovvero puoi impostare l'ambiente all'inizio dello script Arcpy e tutti i rispettivi strumenti rispetteranno l'impostazione dell'ambiente in seguito?
  3. La maggior parte degli strumenti di geoprocessing è già impostata su: arcpy.env.parallelProcessingFactor = "100%"per impostazione predefinita?

Nice pickup @Aaron
om_henners

Risposte:


12

Nuovo a 10.1 SP1, da quello che posso trovare.

Questa non è una risposta completa, ma una rapida ricerca di "bug" fissi ha rivelato riferimenti a set di dati a mosaico e strumenti di analisi geostatistica. Quest'ultimo ha un argomento al riguardo. Nota: sebbene sembri che questo argomento non sia direttamente correlato al fattore di elaborazione parallelo.

Modifica per chiarimenti: molti strumenti geostatistici ora supportano l'elaborazione parallela ma non sembrano supportare il "fattore di elaborazione parallela" disponibile per alcuni altri strumenti in geoprocessing.

Un riferimento allo strumento dovrebbe elencare "fattore di elaborazione parallelo" nella sezione degli ambienti se l'impostazione è supportata. Il set di strumenti della cache di tile sembra supportare anche il fattore.


2
Posso confermare geostatistical analyst tools- ho provato la procedura guidata oggi e molti passaggi sono stati felicemente usando 8 core .. finalmente! =)
radek,

5
resources.arcgis.com/en/help/main/10.1/index.html#//… elenca gli strumenti che supportano l'elaborazione parallela pergeostatistical analyst tools
Mapperz

1
Curioso, l'implementazione si basa su Python, C ++ o .NET?
blah238,

resources.arcgis.com/en/help/main/10.2/#/… Da "Novità" per ArcGIS 10.2 Analista spaziale: "Il supporto multicore è stato aggiunto ai seguenti strumenti: Riclassifica, Sovrapposizione ponderata, Somma ponderata, Statistiche zonali, Statistiche zonali come da tabella. "
DPierce,

3

Stavo solo cercando questo me stesso e ho trovato alcune delle risposte:

1) Quali strumenti di geoprocessing onorano l'ambiente di elaborazione parallelo?

Non sono riuscito a trovare un elenco completo di questi diversi da quelli collegati nell'altra risposta, ma se si guarda il riferimento dello strumento di geoprocessing, è possibile individuare tale strumento dall'elenco degli ambienti che supporta nella parte inferiore. Se elenca "Parallel Processing Factor" negli ambienti, lo supporta. Altrimenti no. Non è un elenco completo, ma ti consente di cercare supporto per uno strumento particolare, almeno.

2) Queste sono impostazioni locali o globali (ovvero puoi impostare l'ambiente all'inizio dello script Arcpy e tutti i rispettivi strumenti rispetteranno l'impostazione dell'ambiente in seguito?

La mia comprensione è che si comporta come altri ambienti e può essere entrambi. Se lo si imposta sullo stesso strumento di geoprocessing durante l'esecuzione, è locale, ma se lo si imposta in ambienti ArcMap o ambienti arcpy, allora è globale per quella sessione. Potrei sbagliarmi su questo, ma non ho letto nulla che indichi che si comporta diversamente.

3) La maggior parte degli strumenti di geoprocessing sono già impostati su: arcpy.env.parallelProcessingFactor = "100%" per impostazione predefinita?

No. Non necessariamente, almeno. Non è specificato. In questa pagina di aiuto per ArcGIS 10.2, il valore predefinito è lasciare che ogni strumento ne determini l'importo. Data l'altra documentazione in quella pagina che indica le impostazioni ottimali per ogni strumento in base al fatto che sia associato al disco o alla CPU, immagino che possa variare tra l'utilizzo di un singolo core e la creazione di molte volte più thread delle CPU. Non lo dicono, ma questa è la mia interpretazione del default che specificano.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.