Procesamiento de GPU con Spatial Analyst
Disponible con licencia de Spatial Analyst.
Disponible con licencia de Analista 3D.
ArcGIS Pro ofrece un rendimiento mejorado gracias al uso del procesamiento con la unidad de procesamiento de gráficos (GPU) para algunas herramientas. Esta tecnología utiliza la capacidad computacional de la tarjeta de gráficos de los ordenadores modernos para mejorar el rendimiento de algunas operaciones.
Las siguientes herramientas admiten actualmente el procesamiento con GPU:
Procesamiento con GPU
La GPU es un componente de hardware de un ordenador que agiliza la representación en pantalla de los gráficos. Recientemente, la capacidad de procesamiento de las GPU se ha orientado a la realización de tareas de computación generales.
Para las herramientas aceleradas mediante GPU, la tarea de procesamiento de los rásteres se asigna a la GPU en lugar de a la unidad central de procesamiento (CPU). Ciertos tipos de operaciones se benefician de esta estrategia. En esos casos, el software divide la tarea de procesamiento en muchas porciones pequeñas que se envían a la GPU para realizar los cálculos. La GPU realiza los cálculos en paralelo para todas las porciones pequeñas a mayor velocidad. Los datos resultantes se devuelven y el software vuelve a reunir los componentes individuales en un producto final completo.
Tarjetas y controladores de GPU admitidos
Existen varias soluciones para el procesamiento en la GPU. Actualmente, la herramienta solo admite las GPU NVIDIA con capacidad mínima de computación CUDA con la versión 5.2. El sistema debe tener instalada una tarjeta adecuada para poder acceder a esta capacidad. Para análisis de radiación solar se recomienda una capacidad de computación CUDA con la versión 7.0 o posterior para aprovechar plenamente las mejoras de rendimiento de GPU adicionales.
Para determinar el tipo de tarjeta gráfica de un equipo Windows, abra el Administrador de dispositivos del sistema y expanda Adaptadores de pantalla. Se muestran las marcas y los tipos de las tarjetas gráficas. Si no aparece ninguna tarjeta gráfica de la marca NVIDIA, no podrá acceder a esta función y la herramienta utilizará la CPU.
Si tiene una tarjeta gráfica NVIDIA, debe comprobar el tipo de GPU instalada en el sistema usando el panel de control de NVIDIA como sigue:
Haga clic con el botón derecho en un área vacía del escritorio.
En el menú contextual, haga clic en Mostrar más opciones (o pulse Mayús+F10 en el teclado).
Haga clic en Panel de control de NVIDIA.
En la ventana del panel de control, vaya al menú Ayuda y haga clic en Información del sistema.
Se muestran todas las tarjetas gráficas de NVIDIA, las versiones de sus controladores y otras propiedades.
Una vez que determine el tipo de tarjeta de GPU de NVIDIA, busque su capacidad de computación CUDA en la página de ayuda de NVIDIA para las GPU de CUDA. En la sección correspondiente, busque la tarjeta de GPU específica y anote el valor de capacidad de computación indicado para ella. Debe ser 5.2 o superior para que sea compatible con la herramienta.
Cuando se instala una tarjeta de GPU en un equipo, incluye un controlador predeterminado. Antes de ejecutar una herramienta de análisis que use una GPU, debe actualizar los controladores de las tarjetas de GPU a la versión más reciente disponible en la página de actualización del controlador de NVIDIA.
Configuración de GPU
La herramienta solo puede usar una GPU para el cálculo. Sin embargo, si el equipo solo tiene una GPU instalada, se usará tanto para la visualización como para el cálculo. En este caso, al ejecutar la herramienta se mostrará un mensaje de advertencia indicando que es posible que la pantalla no responda. Para el análisis espacial, es recomendable usar dos GPU: una para la visualización y otra para el cálculo.
En el caso de varias GPU en un sistema, la configuración de entorno Id. de GPU y dos variables de entorno de sistema (CUDA_DEVICE_ORDER y CUDA_VISIBLE_DEVICES) determinan qué GPU se utilizará.
De forma predeterminada, la variable de entorno del sistema CUDA_DEVICE_ORDER se establece en FASTEST_FIRST. Esto significa que las distintas GPU de una máquina se numerarán de la más rápida a la más lenta, empezando por 0. Para numerar las GPU según cómo estén instaladas en un equipo, cambie la configuración del entorno CUDA_DEVICE_ORDER a PCI_BUS_ID.
Se considera que una GPU del clúster de cómputo Tesla (TCC) es más rápida que una GPU del modelo de controlador de pantalla de Windows (WDDM) predeterminado. Por consiguiente, aparecerá en primer lugar (índice 0) y se utilizará para ejecutar la herramienta predeterminada. Si no hay ninguna GPU disponible en el modo de controlador TCC, y se deja el entorno CUDA_DEVICE_ORDER con la configuración predeterminada, se utilizará la GPU más rápida GPU (con índice 0), a menos que se indique proceder de otro modo.
Para especificar una GPU o deshabilitarla, puede configurar las variables de entorno del sistema CUDA_DEVICE_ORDER y CUDA_VISIBLE_DEVICES siguiendo estos pasos:
Para usar una GPU diferente, especifíquela por medio de la variable de entorno del sistema
CUDA_VISIBLE_DEVICES. Cree primero esta variable de entorno si no existe en el sistema. A continuación, defina su valor como el valor del índice (0 para el primero, 1 para el segundo y así sucesivamente) que represente el dispositivo de GPU que desee usar y reinicie la aplicación. El valor del índice depende del orden determinado por la variable de entorno del sistemaCUDA_DEVICE_ORDER. Para modificar el valor deCUDA_DEVICE_ORDER, siga los mismos pasos que para la variable de entorno del sistemaCUDA_VISIBLE_DEVICES.Si no desea que el análisis use ninguno de los dispositivos de GPU instalados en el sistema, establezca la variable de entorno del sistema
CUDA_VISIBLE_DEVICESen -1 y reinicie la aplicación. La herramienta se ejecutará usando únicamente la CPU.Para que una herramienta vuelva a utilizar un dispositivo GPU, elimine la variable de entorno del sistema
CUDA_VISIBLE_DEVICESo establezca su valor en el valor de índice del dispositivo GPU que desea utilizar y reinicie la aplicación.
Para obtener más información sobre las variables de entorno del sistema CUDA_VISIBLE_DEVICES y CUDA_DEVICE_ORDER, consulte CUDA Toolkit Programming Guide.
En las siguientes subsecciones se describen los pasos de configuración recomendados para lograr un procesamiento óptimo al utilizar la capacidad de la GPU.
Definir el modo de controlador TCC
En el caso de las GPU NVIDIA, configure la GPU que se utiliza para el cómputo con el controlador TCC, en lugar del controlador WDDM predeterminado. El modo TCC permite a la GPU funcionar de un modo más eficiente.
Para habilitar el modo del controlador TCC, use el programa de control NVIDIA System Management Interface, que se suele encontrar en C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Por ejemplo, el comando 'nvidia-smi -dm 1 -i 2' cambia la tarjeta con el Id. de dispositivo 2 al modo de visualización 1 (TCC).
Nota:
Si ejecuta ArcGIS Server, la GPU utilizada para el cálculo debe estar en el modo de controlador TCC.
Deshabilitar el modo ECC
Deshabilite el modo Error Correcting Code (ECC) en la GPU usada para el cálculo, ya que reduce la memoria disponible en la GPU.
Para deshabilitar el modo ECC, use el programa de control NVIDIA System Management Interface (nvidia-smi), que se suele encontrar en C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Por ejemplo, el comando 'nvidia-smi -e 0 -i 1' desactiva el modo ECC para la GPU con el Id. de dispositivo 1.
Aumentar el ajuste de TDR
Si la GPU utilizada para el cálculo está en el modo de controlador WDDM, el controlador del dispositivo de visualización de Windows puede reiniciar la GPU si algún cálculo tarda más de un par de segundos. Esto se conoce como la condición de detección del tiempo de espera y recuperación (TDR) de Windows. Si sucede, la herramienta no podrá completar la ejecución y se devolverá un error de GPU.
Puede modificar la clave de registro TdrDelay para evitar esta situación. Si se establece en un valor adecuado (por ejemplo, 60 segundos), da tiempo a que se complete una operación larga antes de que se active la condición TDR. En casi todos los sistemas Windows, la ruta a la clave TdrDelay en el registro es HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers. Si la clave TdrDelay no existe, debe crearla en esta ruta. Cuando cree o cambie este valor del registro, realice primero una copia de seguridad del registro. Debe reiniciar el equipo para que el cambio tenga efecto. Para obtener más información, consulte Detección del tiempo de espera y recuperación (TDR) en la documentación para desarrolladores de Windows.
Precaución:
Esri no se responsabiliza de ningún problema del sistema que pueda ocurrir si el registro se modifica incorrectamente. Asegúrese de que dispone de una copia de seguridad válida del registro a la que volver en caso de que surjan problemas o pida a un analista de sistemas cualificado que realice el cambio.