GPU 가속 RNN: minGRU와 minLSTM의 CUDA 구현

2025-09-21

이 블로그 게시물은 캘리포니아 공과대학 CS179: GPU 프로그래밍 과정의 최종 프로젝트에 대한 자세한 내용을 설명하며, Feng et al.의 논문 “Were RNNs All We Needed?”의 주장을 검증합니다. 이 프로젝트는 단순화된 minGRU와 minLSTM 모델과 사용자 정의 CUDA 병렬 스캔 알고리즘을 구현했습니다. 결과는 긴 시퀀스에 대해 GPU의 상당한 속도 향상을 보여주었고, RNN의 순환을 병렬화할 수 있다는 논문의 핵심 발견을 검증했습니다. 그러나 짧은 시퀀스의 경우 CUDA 커널 시작 오버헤드가 성능 향상의 일부를 상쇄했습니다. GPU 커널 프로파일링을 통해 최종 투영 레이어가 주요 병목 현상임을 알 수 있었으며, 단일 cuBLAS GEMM 호출을 통한 추가 최적화를 제시합니다.

개발