RNN aceleradas por GPU: Una implementación CUDA de minGRU y minLSTM
Esta publicación de blog detalla un proyecto final para el curso CS179: Programación de GPU del Caltech, que verifica las afirmaciones del artículo de Feng et al., “Were RNNs All We Needed?”. El proyecto implementó modelos minGRU y minLSTM simplificados y un algoritmo de exploración paralela CUDA personalizado. Los resultados mostraron aceleraciones significativas de la GPU para secuencias largas, validando el hallazgo principal del artículo de que la recurrencia RNN se puede paralelizar. Sin embargo, para secuencias cortas, la sobrecarga de inicio del kernel CUDA anuló algunas ganancias de rendimiento. El perfil del kernel de la GPU reveló la capa de proyección final como el principal cuello de botella, lo que sugiere una mayor optimización mediante una única llamada cuBLAS GEMM.