I’m building Serenity to explore GPU performance from the rendering side. Moving light gives me a way to investigate techniques that also matter to transformer inference: processing data in small pieces, keeping a small amount of running state, and combining partial results or reusing earlier work.
The scene is deliberately simple: glass, porcelain, and metal marbles on a walnut table, lit by moving fireflies. That leaves the lighting to carry the image, and gives me something visible to inspect as I work on the kernels underneath.
The first milestone
The naive path tracer is built. It gives me the baseline for the work ahead: a scene, a reference image, and measurements of error and time. ReSTIR is in progress on a branch. The aim is a clean frame at the display’s full resolution and 60 frames a second, traced lower and upscaled.
The milestone-one writeup explains what I learned getting the baseline in place.
Why the name
In path tracing, the bright stray pixels in a noisy render are called fireflies. Here they are also, literally, the lights. Serenity is named for the calm, clean frame I’m working toward.
If the name brings to mind a small ship that kept flying, that’s not an accident. It’s why the metal spheres are polished: they had to be shiny.
Part of Plainsight Systems
I’m a systems architect and builder. At Plainsight Systems, I work through questions that interest me by building things I can inspect and measure. Serenity lets me approach the GPU problems I encounter in inference through rendering, where the consequences of a change are visible in the image as well as the frame time.
The Plainsight Systems site brings that work together, with the other projects, research, and writing.