High Performance Video Encoding Using Nvidia GPUs
If you do video encoding, you need a GPU.
The missing part of the title of this session was that, instead of talking about encoding using CUDA, the point of discussion was using NVENC -- the fixed-function hardware encoder built into all Kepler GPUs to do h.264 encoding. They assured us that the NVENC encoder could handle eight streams of moderate quality h.264 video, regardless of GPU performance; the lower end GPUs would perform as well as higher end ones. Because the NVENC encoding is entirely hardware-accelerated on the fixed-function hardware, it also uses less power than CPU-based encoding or CUDA-based encoding.
Also discussed was the two different SDK models for using NVENC: first, the NVENC SDK, which lacks a provision for capture but allows more flexible encoder settings, and then the GRID SDK, which allows capture but has a small number of fixed encoder settings. The GRID SDK version is important because it allows us a peek into how the GRID cloud gaming systems work. They directly capture the output of the GPU and encode it into h.264 video for low-latency streaming, which is then streamed to the player. That is an answer to a portion of the 'how does GRID work?' and 'how will SHIELD work?' questions you might have.