Procesamiento con GPU en Spatial Analyst

Disponible con una licencia de Spatial Analyst.

Ahora, Spatial Analyst ofrece un rendimiento mejorado gracias al uso del procesamiento con la unidad de procesamiento de gráficos (GPU) para algunas herramientas. Esta tecnología aprovecha 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:

¿Qué es el procesamiento con GPU?

Una GPU es un componente de hardware de un ordenador cuya finalidad principal es acelerar la representación de los gráficos en la pantalla. 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). Hay algunos tipos de operaciones para los que esta estrategia resulta ventajosa. 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 estas 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

Hay diferentes soluciones disponibles en el mercado para el procesamiento con GPU. Actualmente, solo se admiten las GPU NVIDIA con capacidad de computación CUDA con la versión 3.0 o posterior. El sistema debe tener instalada una tarjeta adecuada para tener acceso a esta capacidad.

Para comprobar los tipos de tarjetas gráficas existentes en 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 ve en la lista una tarjeta gráfica de la marca NVIDIA, no podrá acceder a esta capacidad y la herramienta usará únicamente 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:

  1. Haga clic con el botón derecho en un área vacía del escritorio. En el menú contextual, haga clic en el Panel de control de NVIDIA.
  2. En la ventana del panel de control, vaya al menú Ayuda y haga clic en Información del sistema. Se mostrarán 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 nvidia.com. En la sección correspondiente, busque su tarjeta de GPU y tome nota del valor de capacidad de computación indicado para ella. Debe ser 3.0 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 nvidia.com.

Configuración de GPU

La herramienta solo usará una GPU para el cálculo. Sin embargo, si el equipo solo tiene una GPU, se usará tanto para la visualización como para el cálculo. En esa situación, aparecerá un mensaje de advertencia durante la ejecución de la herramienta en el que se indica que podría parecer que la pantalla no responde. Por tanto, 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 que haya varias GPU en el sistema, la primera GPU que esté en el modo de controlador TCC (Tesla Compute Cluster) se usará de manera predeterminada. Si no hay ninguna GPU disponible en el modo de controlador TCC, se usará la primera GPU (con el índice 0), a menos que se especifique otra cosa. Para especificar una GPU o para deshabilitarla, vea lo siguiente:

  • Para usar una GPU diferente, puede especificarla por medio de la variable de entorno del sistema CUDA_VISIBLE_DEVICES. Para ello, 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.
  • Si no desea que el análisis use ninguno de los dispositivos de GPU instalados en el sistema, puede definir la variable de entorno del sistema CUDA_VISIBLE_DEVICES en -1 y reiniciar la aplicación. Así, la herramienta se ejecutará usando la CPU únicamente.
  • Para configurar la herramienta de modo que utilice de nuevo un dispositivo de GPU, elimine la variable de entorno del sistema CUDA_VISIBLE_DEVICES o defina el valor de esta variable de entorno en el valor de índice del dispositivo GPU que desee usar y reinicie la aplicación.

Para obtener más información sobre la variable de entorno CUDA_VISIBLE_DEVICES, consulte CUDA Toolkit Programming Guide nvidia.com.

Las siguientes subsecciones describen los pasos de configuración recomendados para obtener una ejecución óptima cuando se use la función GPU.

Definir el modo de controlador TCC

En el caso de las GPU de NVIDIA, la GPU utilizada para la computación se debe configurar de modo que use el controlador TCC, en lugar del controlador Windows Display Driver Model (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' debería deshabilitar 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, es posible que el controlador del dispositivo de visualización de Windows reinicie la GPU si algún cálculo tarda más de un par de segundos. Esto se conoce como 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.

Hay una modificación que se puede realizar en una clave del registro, TdrDelay, para evitar esta situación. Si se define en un valor adecuado (por ejemplo, 60 segundos), habrá tiempo para que una operación larga se complete 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. Tenga en cuenta que, al crear o cambiar este valor de registro, debe realizar primero una copia de seguridad del registro. Debe reiniciar el equipo para que el cambio tenga efecto. Microsoft Developers Network ofrece más detalles sobre la configuración de TDR Delay microsoft.com.

Precaución:

Esri no se responsabiliza de los problemas del sistema que puedan ocurrir si el registro se modifica incorrectamente. Asegúrese de que seguir los pasos correctos para que pueda disponer de una copia de seguridad del registro válida que pueda revertir en caso de que se detecte algún problema. También puede dejar esta tarea en manos de un analista de sistemas cualificado.

Temas relacionados