logo móvil
Contáctanos

OpenCNN: una implementación del algoritmo de filtrado mínimo de Winograd en CUDA

Autores: Castro, Roberto L.; Andrade, Diego; Fraguela, Basilio B.

Idioma: Inglés

Editor: MDPI

Año: 2021

Descargar PDF

Acceso abierto

Artículo científico
2021

OpenCNN: una implementación del algoritmo de filtrado mínimo de Winograd en CUDA


Categoría

Matemáticas

Subcategoría

Matemáticas generales

Palabras clave

Rendimiento
Operación de convolución
Aprendizaje profundo
Procesamiento de video
Innovaciones algorítmicas
Algoritmo Winograd

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 35

Citaciones: Sin citaciones


Descripción
Mejorar el rendimiento de la operación de convolución se ha convertido en un objetivo clave para los desarrolladores de Computación de Alto Rendimiento (HPC) debido a su prevalencia en el aprendizaje profundo aplicado principalmente al procesamiento de video. La mejora está siendo impulsada por innovaciones algorítmicas e implementativas. Algorítmicamente, la convolución puede resolverse tal como se enuncia matemáticamente, pero otros métodos permiten transformarla en una Transformada Rápida de Fourier (FFT) o en una Multiplicación de Matrices Generales (GEMM). En este último grupo, el algoritmo de Winograd es una variante de vanguardia que es especialmente adecuada para convoluciones más pequeñas. En este documento, presentamos openCNN, una implementación optimizada en CUDA C++ del algoritmo de convolución de Winograd. Nuestro enfoque logra mejoras de velocidad de hasta en Turing RTX 2080Ti y de hasta en Ampere RTX 3090 con respecto a la convolución de Winograd en cuDNN 8.2.0. OpenCNN se publica como software de código abierto.

Otros recursos que podrían interesarte

Temas Virtualpro