Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

How do multiple encoders share hardware resources?

Alex_S_
Beginner
517 Views

I'm running two h264 hardware accelerated encoders in two separate processes. They both work fine, but now I want to know: how do they share single CPU in the system? And running two processes - is it good approach? Or should I rather run multiple sessions in single process?

Alex

 

0 Kudos
4 Replies
Jeffrey_M_Intel1
Employee
517 Views

Hi Alex,

Running multiple sessions in separate processes is a fine approach.  The Media SDK and driver stack are built to handle this case well.  When using the hardware implementation 1 master thread interacts with the driver regardless of whether your application uses multiple processes or threads. When using the hardware implementation CPU utilization should stay low, regardless of how many sessions you use.  As a side note, it has been my experience that the simplest implementation with 1 session per thread or process can also be faster than attempting sophisticated threading optimizations with multiple threads per session -- it can often be best to leave this kind of optimization to  Media SDK's internal scheduling.

Regards, Jeff

0 Kudos
OTorg
New Contributor III
517 Views

And what about several separate processes + MFX_IMPL_SOFTWARE?

0 Kudos
Jeffrey_M_Intel1
Employee
517 Views

When running several processes with software you may want to consider joining sessions as this will help avoid thread oversubscription.   

0 Kudos
OTorg
New Contributor III
517 Views

> When running several processes with software you may want to consider joining sessions as this will help avoid thread oversubscription.   

Please, explain us how to join sessions from different processes :)

0 Kudos
Reply