Closed thomshutt closed 1 year ago
Scene classification is deployed to RKV region. PR which adds missing dependencies to docker images: https://github.com/livepeer/go-livepeer/pull/2695 Infra PR: https://github.com/livepeer/livepeer-infra/pull/1134
When planning for enabling content detection for all streams processed on GPUs, we must consider increase in video memory consumption. We already researched that, but worth briefly summarizing again here.
One transcoding session without content detection consumes about 222 Mb of VRAM, and that's uniform. Therefore, to get the video memory dictated max number of transcoding sessions, we can just divide VRAM amount on per-session consumption. For the 8 Gb card, it gives roughly 36 sessions, which is usually above the transcoding performance bottleneck.
With content detection enabled, 2400 Mb of VRAM is allocated for CUDA and CuDNN runtime libraries and then shared among all CUDA sessions. There's no known way of reducing that amount. Each transcoding session additionally include the content detection model itself, and adds 350 Mb of VRAM. Thus, the 8 Gb card will be able to run just 16 transcoding sessions, so we may be at risk of getting OOM errors more frequently, if -maxSessions
parameter doesn't account for that with regards to pod hardware.
Ready to go. Requires -detectContent
on OTs and -metricsPerStream
on Bs to identify streams in the monitoring dashboard.
Done once metrics PR is merged. To have scene classification on production and staging:
-metricsPerStream
and-detectContent
flags