RNNs aceleradas por GPU: Uma implementação CUDA de minGRU e minLSTM

2025-09-21

Este post de blog detalha um projeto final para o curso CS179: Programação de GPU do Caltech, que verifica as afirmações do artigo de Feng et al., “Were RNNs All We Needed?”. O projeto implementou modelos simplificados minGRU e minLSTM e um algoritmo de varredura paralela CUDA personalizado. Os resultados mostraram acelerações significativas da GPU para sequências longas, validando a descoberta principal do artigo de que a recorrência RNN pode ser paralelizada. No entanto, para sequências curtas, a sobrecarga de inicialização do kernel CUDA anulou alguns ganhos de desempenho. O perfil do kernel da GPU revelou a camada de projeção final como o principal gargalo, sugerindo otimização adicional por meio de uma única chamada cuBLAS GEMM.

Desenvolvimento algoritmos paralelos