Files
cuframes/docs/measurements/phase0-consumer-multi-c1.log
gx c2c2a9751a phase0: benchmark results — PASSED on RTX 5090 (Blackwell sm_120)
Basic (1 producer × 1 consumer):
  p50=75µs  p95=146µs  p99=152µs   (target was <5ms — мы 33× ниже)
  500 frames, 0 torn, 0 skipped, zero-copy verified

Multi-consumer (1 × 3):
  p99 для всех 3: 151-152µs (identical = proof zero-copy без contention)
  300 frames each, 0 torn, 0 skipped

Acceptance criteria — GREEN. Переходим к Phase 1 (libcuframes API).

Sync через cudaStreamSynchronize достаточен для v0.1; CUDA IPC event
handles overlap отложен до v0.2.

Raw measurement logs сохранены в docs/measurements/phase0-consumer-*.log
для verification (4 файла из 2 scenarios).

Также fixed unused variable warning в pingpong_consumer.cu.
2026-05-14 22:02:49 +01:00

20 lines
499 B
Plaintext

[consumer] key=m1 count=300
[consumer] connected, frame 1920x1080
[consumer] mapped 2 slots into VRAM
=== cuframes spike summary ===
frames received: 300
duration: 9.94438 s
effective fps: 30.1678
frames skipped (producer ahead): 0
torn frames (data corrupt): 0
latency producer→consumer (microseconds):
mean: 152 us
p50: 80 us
p95: 145 us
p99: 152 us
max: 22321 us
zero-copy: ✓