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.

Runtime resource availability examination ?

Mamil_A_
Beginner
307 Views

The module I've been working on is designed with the intention to work in multiple instances simultaneously. 

Let's for a moment assume that Intel Media SDK hw-based implementation gives superb performance (and is preferred to run if available), whereas sw-based implementation performance falls behind the original/native implementation (C/C++/SSE/MMX...). 

For these reasons it would be beneficial to have some kind of run-time system examination mechanism which would report resource (GPU/surfaces...) availability, upon which the instantiation of different module flavors would be decided. 

Is there a good example of such 'runtime monitor' (source code example preferred) ?

0 Kudos
2 Replies
Petter_L_Intel
Employee
307 Views

Hi,

Intel Media SDK does not provide any way of querying the GPU or CPU for current load.

That said, for the SW execution case, developers may benefit from using the Media SDK Join feature which will help share the CPU resources appropriately.

Regards,
Petter 

0 Kudos
SergeyKostrov
Valued Contributor II
307 Views
>>...Intel Media SDK does not provide any way of querying the GPU or CPU for current load... I very simple Resource Monitoring ( RM ) software subsystem could be implemented using Win32 or WMI ( Windows Management Instrumentation ) APIs for CPU. In case of GPU take a look at NVIDIA's SDKs since they provide lots of functions in their APIs. For example, in NVRESULT enumeration ( see NvApiError.h ) there is an error code NV_ALLOCATED and it means: '...the request cannot be completed as the resource is already allocated...'.
0 Kudos
Reply