Ideas

GPU & Computer Architecture

Notes and projects on GPU programming and computer architecture: CUDA kernels, memory hierarchy, warp scheduling and simulation, and building a CPU from logic gates up.

Low-level work, starting from logic gates. The nand2tetris projects build a working computer up from NAND gates and a VM translator. The GPU course goes the other direction into CUDA: tiled kernels, a warp scheduler simulated cycle by cycle, and reading compiled SASS to find branch divergence.

Most of it comes down to the same question: what is the hardware actually doing? The answer usually involves memory hierarchy, scheduling, and divergence.

Thread Retro 4 parts Updated
Green ripples abstract art

GPU Hardware and Software

What I Learned in GPU Hardware and Software (CS 8803) - A Retrospective