logo móvil
Contáctanos

Implementación de autoencoders con matrices sístolicas a través de OpenCL

Autores: Gadea-Gironés, Rafael; Herrero-Bosch, Vicente; Monzó-Ferrer, Jose; Colom-Palero, Ricardo

Idioma: Inglés

Editor: MDPI

Año: 2021

Descargar PDF

Acceso abierto

Artículo científico
2021

Implementación de autoencoders con matrices sístolicas a través de OpenCL


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería Eléctrica y Electrónica

Palabras clave

Aceleración del algoritmo
Redes neuronales profundas
OpenCL
Arquitecturas de GPU
Arquitecturas de FPGA
Estructuras multikernel

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 41

Citaciones: Sin citaciones


Descripción
En el mundo de la aceleración de algoritmos y la implementación de la fase de recuperación de redes neuronales profundas, las soluciones basadas en OpenCL tienen una clara tendencia a producir kernels perfectamente adaptados en las arquitecturas de unidades de procesamiento gráfico (GPU). Sin embargo, no logran obtener los mismos resultados cuando se aplican a arquitecturas basadas en matrices de compuertas programables en campo (FPGA). Esta situación, junto con un enorme avance en las nuevas arquitecturas de GPU, hace que sea inviable defender una solución de aceleración basada en FPGA, incluso en términos de eficiencia energética. Nuestro objetivo en este documento es demostrar que las estructuras de múltiples kernels pueden escribirse basadas en matrices sistólicas clásicas en OpenCL, tratando de extraer las características más avanzadas de las FPGAs sin tener que recurrir al desarrollo tradicional de FPGA utilizando lenguajes de descripción de hardware de nivel inferior (HDL) como Verilog o VHDL. Esta metodología de OpenCL se basa en el uso intensivo de canales (extensión de IntelFPGA de OpenCL) para la comunicación tanto de datos como de control y en el perfeccionamiento de las bibliotecas de OpenCL utilizando código de lógica de transferencia de registros (RTL) para mejorar el rendimiento de la implementación de las funciones base y de activación de las neuronas y, sobre todo, para reflejar la importancia de una comunicación adecuada entre las capas al implementar redes neuronales.

Otros recursos que podrían interesarte

Temas Virtualpro