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 |
|
gx
|
c8ab4522f2
|
initial commit: design specification + repo scaffolding
cuframes — open-source FFmpeg-плагин и runtime library для zero-copy
sharing декодированных видеокадров между процессами через CUDA IPC.
Содержимое initial commit:
- docs/architecture.md — полная design-spec (418 строк) с prior art,
protocol design, API draft, phase plan, acceptance criteria
- README.md — landing с описанием идеи, состава, quickstart-tease,
roadmap, ссылки на community-discussions подтверждающие спрос
- CONTRIBUTING.md — guidelines, code style, commit message convention
- CHANGELOG.md — Keep a Changelog format, Unreleased / 0.0.1
- LICENSE — LGPL-2.1+ (compatibility с FFmpeg)
- .gitignore — build/CMake/Docker/Python/CUDA-specific
Следующие шаги (отдельные коммиты):
- docker/Dockerfile.dev (CUDA 12.x dev environment)
- tools/spike/ (Phase 0 PoC код для measurement CUDA IPC latency)
|
2026-05-14 21:17:34 +01:00 |
|