Algoritmo paralelo para análisis de componentes conectados utilizando CUDA
Autores: Windisch, Dominic; Kaever, Christian; Juckeland, Guido; Bieberle, André
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Algoritmo paralelo para análisis de componentes conectados utilizando CUDA
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Software
Palabras clave
Algoritmo
Análisis de componentes conectadas
GPUs
Núcleo CUDA
Transferencia de memoria
Rendimiento
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 33
Citaciones: Sin citaciones
En este artículo, presentamos un algoritmo paralelo para el análisis de componentes conectados (CCA) en GPUs que reduce drásticamente el volumen de datos a transferir de la GPU al host. Los algoritmos de CCA dirigidos a GPUs suelen almacenar las características extraídas en matrices lo suficientemente grandes como para contener potencialmente el número máximo posible de objetos para el tamaño de imagen dado. La transferencia de estas matrices grandes al host requiere grandes porciones del tiempo de ejecución general. Por lo tanto, proponemos un algoritmo que utiliza un kernel de CUDA para fusionar árboles de estructuras de características de componentes conectados. Durante la fusión de árboles, se extraen y acumulan varias propiedades de componentes conectados, como el área total, el centroide y la caja delimitadora. La estructura del árbol nos permite transferir solo las características de objetos válidos al host para su procesamiento o almacenamiento adicionales. Nuestros puntos de referencia muestran que esta implementación reduce significativamente el volumen de transferencia de memoria para procesar resultados en el host manteniendo un rendimiento similar a los algoritmos de CCA de última generación.
Descripción
En este artículo, presentamos un algoritmo paralelo para el análisis de componentes conectados (CCA) en GPUs que reduce drásticamente el volumen de datos a transferir de la GPU al host. Los algoritmos de CCA dirigidos a GPUs suelen almacenar las características extraídas en matrices lo suficientemente grandes como para contener potencialmente el número máximo posible de objetos para el tamaño de imagen dado. La transferencia de estas matrices grandes al host requiere grandes porciones del tiempo de ejecución general. Por lo tanto, proponemos un algoritmo que utiliza un kernel de CUDA para fusionar árboles de estructuras de características de componentes conectados. Durante la fusión de árboles, se extraen y acumulan varias propiedades de componentes conectados, como el área total, el centroide y la caja delimitadora. La estructura del árbol nos permite transferir solo las características de objetos válidos al host para su procesamiento o almacenamiento adicionales. Nuestros puntos de referencia muestran que esta implementación reduce significativamente el volumen de transferencia de memoria para procesar resultados en el host manteniendo un rendimiento similar a los algoritmos de CCA de última generación.