is there limit for multi-thread encoder?

hello,
I use AppEncCuda, a encoder sample code from Video_Codec_SDK_9.0.20, and found that the max number of encoder threads is 2.
and when I create 3 encoder threads, it crashed in NvEncoder.cpp:
NVENC_API_CALL(m_nvenc.nvEncOpenEncodeSessionEx(&encodeSessionExParams, &hEncoder));
someone can help me?

Whary.D
14.April.2019

This is “normal” (NVidia SDK API limit) if you have GTX or non-qualified Quadro - see https://developer.nvidia.com/video-encode-decode-gpu-support-matrix (Max # of concurrent sessions).

mcerveny,
thanks a lot,your answer fix my problem.

One similar question. If I have two GeForce GTX 1070 graphics cards, still I cannot encode more than 2 video stream simultaneously (see https://github.com/hoene/NvPipe/blob/parallel-is-failing/examples/parallel.cpp)

For me it is unclear, why the limit is only 2. It should be 2x2.

NVENC_Application_Note.pdf:

  1. NVENC LICENSING POLICY
    There is no change in licensing policy in the current SDK in comparison to the earlier SDKs. The licensing policy is as follows:
    As far as NVENC hardware encoding is concerned, NVIDIA GPUs are classified into two categories: “qualified” and “non-qualified”. On qualified GPUs, the number of concurrent encode sessions is limited by available system resources (encoder capacity, system memory, video memory etc.). On non-qualified GPUs, the number of concurrent encode sessions is limited to 2 per system. This limit of 2 concurrent sessions per system applies to the combined number of encoding sessions executed on all non-qualified cards present in the system.
    For a complete list of qualified and non-qualified GPUs, refer to https://developer.nvidia.com/nvidia-video-codec-sdk.
    For example, on a system with one Quadro K4000 card (which is a qualified GPU) and three GeForce cards (which are non-qualified GPUs), the application can run N simultaneous encode sessions on Quadro K4000 card (where N is defined by the encoder/memory/hardware limitations) and two sessions on all the three GeForce cards combined. Thus, the limit on the number of simultaneous encode sessions for such a system is N + 2.

Thanks for the fast answer