All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

GPU Programming Project: Implementing Parallelizable RNNs with CUDA

By

omegablues

8mo ago· 8 min readen

Summary

A student's final project for CS179: GPU Programming implementing the paper "Were RNNs All We Needed?" by Feng et al. The project focuses on creating simplified versions of GRUs and LSTMs (minGRU and minLSTM) that can be parallelized using the parallel scan algorithm, transforming their training and inference from O(T) sequential to O(log T) parallel processes for GPU acceleration. The implementation is done in CUDA to verify the paper's claims about making recurrent neural networks more efficient on GPUs.

Key quotes

· 3 pulled
The paper's core claim is that by making minor simplifications to LSTMs and GRUs, their recurrence can be expressed in a form amenable to the parallel scan algorithm
This changes their training and inference from an O(T) sequential process into an O(log T) parallel one, which helps with GPU acceleration
My goal was to verify this claim by building both the simplified models (minGRU and minLSTM) and a custom CUDA implementation
Snippet from the RSS feed
An implementation of parallelizable GRUs and LSTMs for CS179 in CUDA.

You might also wanna read