c2c2a9751a
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.
20 lines
497 B
Plaintext
20 lines
497 B
Plaintext
[consumer] key=b1 count=500
|
|
[consumer] connected, frame 1920x1080
|
|
[consumer] mapped 2 slots into VRAM
|
|
|
|
=== cuframes spike summary ===
|
|
frames received: 500
|
|
duration: 16.6312 s
|
|
effective fps: 30.0639
|
|
frames skipped (producer ahead): 0
|
|
torn frames (data corrupt): 0
|
|
|
|
latency producer→consumer (microseconds):
|
|
mean: 79 us
|
|
p50: 75 us
|
|
p95: 146 us
|
|
p99: 152 us
|
|
max: 2273 us
|
|
|
|
zero-copy: ✓
|