AVC Video encoder Couple of questions regarding capacity & scaling

Hi,

I am experimenting with video encoder API, starting from cudaEncode example. On my dev machine i have GeForce GT 555M graphic card. The official specs states there are 144 CUDA cores available.

How does core number correlate to number of encoding or decoding processes that can be done in parallel ?

Is encoding more demanding in core usage than decoding ?

Is there a function that can tell me how many cores are occupied/available at this time ? If so i could use that information to see how many cores is used after call to NVCreateHWEncoder.

Are all needed cores allocated after successful call to NVCreateHWEncoder() ?

Thanks,
Alex

“How does core number correlate to number of encoding or decoding processes that can be done in parallel ?”

Not related directly. See below.

“Is encoding more demanding in core usage than decoding ?”

Don’t know. Depends on how they are coded.

“Is there a function that can tell me how many cores are occupied/available at this time ? If so i could use that information to see how many cores is used after call to NVCreateHWEncoder.”

NVIDIA’s nvidia-smi can do that but it doesn’t support GeForce. Usually if your thread block size is multiple of 64 and your number of thread blocks >= number of SM/MP, then your card should be fully occupied.

“Are all needed cores allocated after successful call to NVCreateHWEncoder() ?”

It depends on how NVCreateHWEncoder is implemented. I think only a few people on the Earth can tell yuo the answer.

Thanks,

I now see that I can`t use nvidia management interface SDK for geforce card.

What is the difference between Geforce, Tesla and Quadro product line regarding AVC encoding ?