What does your GPU stopwatch include?

This package is an original synthetic timing worksheet. Every timestamp,
clock identity, dependency and completion assertion in fixture.json is fictional.
It has no GPU, provider, performance, correctness-of-a-real-kernel or training result.

Run the CPU-only worksheet with Python 3.10+ and the standard library:

  python3 timing_boundaries.py fixture.json --output replay-result.json

The calculator refuses to overwrite an existing result. result.json is the
retained author execution; replay-result.json is a new local reproduction.
The eight cases remain in their declared order, including four unknown results.
Fifteen small authored mutations exercise missing/duplicate coverage, invalid
time values, mismatched completion markers, stream/timing rules and overlap.
These controls validate this worksheet, not NVIDIA/PyTorch or a production trace.

The first four cases are different views of one imaginary workload:
  host submission returns after 40 us;
  the host returns from a declared completion wait after 140 us;
  same-stream device events span 100 us;
  two different-stream phases last 80 and 60 us, overlap by 40 us,
  and cover a 100 us span.
The phase sum is 140 us, not another measurement of elapsed completion time.
The matching 140 values in this fixture are coincidental, not a formula.
Uncovered gaps and overlapping durations are reported separately. An interval
union describes only the declared phase coverage, not GPU utilization or a
critical path inferred from dependencies.

Clock identities include an instance/epoch. Equal units, the same GPU label,
or the same clock type do not align two clocks. The program returns unknown
for incompatible clock identities instead of subtracting their timestamps.
Synthetic device coordinates are a teaching device: cudaEventElapsedTime
returns a duration, not an absolute timestamp you can align to a CPU clock.

timing_example.cu is SOURCE ONLY. It was not compiled, launched, or timed.
It annotates one-stream submission, completion-wait and event intervals, with
initialization, allocation, copies, warmup and validation explicitly placed.
No GPU is needed or used to replay the Python worksheet. Do not import the
CUDA example into the worksheet or represent source review as GPU validation.
Compilation and driver first-use work may differ on a real deployment.

Use WORKSHEET.json to state the desired timer boundary before a real run.
It is a blank planning worksheet, not a sample authentication or admission API.
Real measurement requires an admitted environment, exact hardware/runtime,
correctness checks, a defined cache/warmup policy and retained samples/failures.
No cost, sample-size, scheduling or provider ranking follows from this package.

SOURCES.json records official NVIDIA 13.5 and PyTorch 2.15 documentation
observations and hashes. Those are API-documentation pins, not an installed
environment. The URLs may change; the response hashes identify what was read.
No third-party documentation or implementation bodies are included.

All original code, fictional data and documentation in this package are
covered by LICENSE. NVIDIA and PyTorch API semantics are credited to their
respective contributors; no endorsement is implied.
