# Modos de GPU con un servidor ViDi

La funcionalidad de cliente/servidor permite que hasta ocho PC clientes usen un solo servidor tanto para el entrenamiento como para el procesamiento. Esto permite a los clientes compartir el uso de una o varias GPU instaladas en el servidor.

El servidor de ViDi Suite proporciona exactamente las mismas capacidades y opciones de configuración que la interfaz gráfica de usuario de ViDi Suite, ejecutándose localmente, en lo que respecta al uso de varias GPU.

- Para utilizar varias GPU, todas deben ser del mismo tipo y tener la misma cantidad de memoria.
- Cuatro es el número máximo de GPU que puede usar un servidor.
- Los clientes individuales pueden solicitar un dispositivo GPU específico al procesar una secuencia.
- Puede configurarse un solo servidor de ViDi para prestar un servicio de entrenamiento (para admitir clientes que ejecuten la interfaz gráfica de usuario de ViDi Suite), un servicio de tiempo de ejecución (para admitir clientes que procesen imágenes a través de secuencias usando la interfaz de tiempo de ejecución), o ambos servicios de entrenamiento y tiempo de ejecución. Independientemente del origen de la solicitud (servicio de entrenamiento o de tiempo de ejecución), las solicitudes se ponen en una misma cola FIFO —primero en entrar, primero en salir— y se procesan en orden, usándose el primer dispositivo GPU disponible.

El modo GPU en el servidor se establece cuando se inicia ViDi Suite Service, pudiéndose usar argumentos de línea de comandos para especificar el modo de GPU.

Modo GPU SingleDevicePerTool

Por defecto, el servicio está configurado para utilizar el modo GPU SingleDevicePerTool. En este modo, cada vez que se procesa una herramienta, se bloquea una GPU durante el tiempo que dure el procesamiento de la herramienta. La GPU se libera una vez procesada la herramienta.

Cuando se procesa una secuencia de varias herramientas, cada una de ellas se procesa secuencialmente. Si no hay GPU disponibles cuando la siguiente herramienta de la secuencia está lista para ejecutarse, se interrumpe el procesamiento de la secuencia hasta que haya una GPU disponible. Si ya hay otras solicitudes de procesamiento en la cola, se añadirá la herramienta al final de la cola.

Cuando se configura una secuencia con dos herramientas que usan la misma herramienta precedente de entrada, las herramientas se ejecutan secuencialmente, no en paralelo, y el procesamiento de la secuencia bloqueará otras herramientas hasta que se hayan procesado las dos.

Modo GPU MultipleDevicesPerTool

Si el servidor está configurado para el modo GPU MultipleDevicesPerTool, todas las GPU se tratan como una sola GPU, todo el tiempo. Esto significa que solo se puede procesar una herramienta a la vez para todo el servidor.

En el caso específico de la Herramienta de análisis roja, el uso del modo MultipleDevicesPerTool puede acelerar la herramienta, sobre todo una herramienta con una relación alta de tamaño de imagen-característica. Sin embargo, esta potencial aceleración se produce a costa de la latencia en todos los clientes.