Module kernel

Module kernel 

Source
Expand description

2026-09-26: L1: GPU time from CUDA event pairs: every serve lane on every step, and every eager kernel launch on one step in N.

SpanRing is the bookkeeping, generic over EventOps so it is tested here with a scripted event source; the CUDA implementation is metrale-gpu-runtime’s timing module. A span lands when a later SpanRing::harvest polls it complete; the ring never waits on the GPU. Kernels replayed inside a CUDA graph get no per-kernel span; only the lane span covers a replay.

Owner: telemetry. Invariants: a ring slot is handed out again only after its span landed, failed, or could not start.

Structs§

KernelInstruments
2026-09-26: Where span durations land.
KernelTime
2026-09-26: One row of the per-kernel table.
SpanRing
2026-09-26: The in-flight spans over a fixed pool of event pairs.
SpanToken
2026-09-26: A span handed out by SpanRing::begin.

Enums§

Edge
2026-09-26: One edge of a span.
SpanKey
2026-09-26: What a span measured.
SpanPoll
2026-09-26: A span’s completion state.

Constants§

KERNEL_TABLE_SLOTS
2026-09-26: Distinct kernels the per-kernel table can hold.
LANES
2026-09-26: The serve lanes timed on the GPU each step at level Kernel, indexed as the scheduler’s Lane::telemetry_index numbers them.

Traits§

EventOps
2026-09-26: A pool of event pairs addressed by slot.