CUDA Light Studio: pictures into a million points of light, in raw CUDA
CUDA Light Studio turns pictures into up to a million points of light and renders films from a score file in one deterministic pass. It is raw CUDA called through ctypes, with no PyTorch at render time, and it runs on a 4 GB laptop GPU. The light at the top of my data page comes from its tracer. What I sell is GPU and CUDA environments built in this style, where correctness and speed are both graded.
The light at the top of my data page comes from this studio's tracer: each note of a score becomes thousands of points, and the page lights them as the music plays.
How it works
- The tracer samples a picture into up to a million points on the GPU, using a mask of what to keep and a depth map from Depth Anything V2. The sampling is priority-ordered, so any prefix of the points is an even sample of the whole picture.
- The renderer splats the points with a moving camera and light, and writes frames straight to video.
- A score file (TOML) describes the whole film: shots, transitions, text and timing. One command renders it in one pass.
- Checks compare renders frame by frame against reference outputs before any refactor is committed.
Engineering notes
- Bit-identical frames. Splats are summed in 64-bit fixed point, so the same score renders the same bytes every time, whatever order the GPU threads finish in.
- Where the time goes. The splat kernel is about 95% of frame time, and its cost is points times splat area. Capping points alone saved nothing; capping them and keeping each point small made renders about three times faster.
- Thermal limits are real limits. Two million points pushed the laptop GPU to 99 °C, so the studio caps a shot at 600,000 points.
Facts
| Item | Detail |
|---|---|
| Language | CUDA C++ (four kernel files, about 1,200 lines), called from Python through ctypes |
| At render time | No PyTorch, no ML framework |
| Hardware | RTX 3050 Laptop GPU, 4 GB |
| History | 19 commits in the current repository (Oct 2026); earlier versions are archived |
| Availability | Private. Not for sale as a codebase |
What you can buy
GPU and CUDA environments, built to your spec:
- kernel tasks with reference outputs, where the grader checks bit-exact or tolerance-bounded results;
- performance tasks graded on speed as well as correctness, on real consumer hardware;
- rendering and image-pipeline tasks where the result can be compared frame by frame.
FAQ
Does it use PyTorch or another ML framework?
Not at render time. The kernels are raw CUDA compiled with nvcc and called from Python through ctypes. Depth maps come from Depth Anything V2 in an offline preparation step.
Why does determinism matter?
Because it makes the output testable. If the same score always renders the same bytes, a change that alters any frame is caught immediately, which is also what makes GPU work gradable as an environment.
Can you build CUDA tasks for training or evaluating agents?
Yes. I build kernel and rendering tasks with reference outputs and graders for correctness and speed.
License it, or have me build an environment in the same style.
