Split the GI trace and RT shadow core kernels into trace and shade passes #1031

Open
opened 2026-10-25 01:02:05 +00:00 by sky_line · 0 comments
Owner

Profiled with Nsight Graphics GPU Trace + shader profiler on an RTX 5090 (full GI scene, ~61 FPS, GPU ~16.3 ms/frame). DeferGiTrace (19% of GPU shader samples) and DeferShadowMergeCore / DeferProjStochCore (15%) run at the 255-register cap: 8 warps per SM out of 48, and together cover ~4.5 ms of the frame at 10-15% occupancy. Their machine code is ~0.3-0.9 MB, and the profiler shows instruction-cache stalls (NOINST 53%) inside the deferred kernel, plus a long tail at the end of the GI dispatch.

Split each into a trace pass that writes compact hit records and separate shading pass(es).

Done when: each pass is under 128 registers with no local-memory spill (VKPipeStats), the image matches, and GPU timers at the same scene show a net gain.

Profiled with Nsight Graphics GPU Trace + shader profiler on an RTX 5090 (full GI scene, ~61 FPS, GPU ~16.3 ms/frame). DeferGiTrace (19% of GPU shader samples) and DeferShadowMergeCore / DeferProjStochCore (15%) run at the 255-register cap: 8 warps per SM out of 48, and together cover ~4.5 ms of the frame at 10-15% occupancy. Their machine code is ~0.3-0.9 MB, and the profiler shows instruction-cache stalls (NOINST 53%) inside the deferred kernel, plus a long tail at the end of the GI dispatch. Split each into a trace pass that writes compact hit records and separate shading pass(es). **Done when:** each pass is under 128 registers with no local-memory spill (VKPipeStats), the image matches, and GPU timers at the same scene show a net gain.
sky_line added this to the Slipstream project 2026-10-25 01:02:05 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1031
No description provided.