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
Ankündigungen
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.

Estimating GPU availability in massive transcoding environment

Mamil_A_
Einsteiger
885Aufrufe

 Say you have a machine on which transcoding of massive number of live streams happens concurrently.

Whenever a new transcoding requirement comes, before trying to run the task the obvious first step would be to estimate whether there are currently available GPU resources. If the resources are available, the transcoding session would be launched, otherwise, the task would be put on hold. 

The 'trial-and-error' paradigm (i.e. try launching the session, and if it fails, we will handle it somehow') is unsuitable as the streams are live, and there is no tolerance for run-time error of that kind. Instead, some kind of reliable GPU resources estimation mechanism (regardless of how precise) is needed.

Any suggestion as to how to approach solving this kind of problem would be greatly appreciated.

Thanks,

Mamil

0 Kudos
10 Antworten
andy4us
Einsteiger
885Aufrufe

Self learning. On startup, have it create internal video generators ( just create buffers of image data) of the same matrix size as the live video streams. Then profile itself. Once it's figured out the practical limit for that machine and video matrix size, it sets the limit to that.

SergeyKostrov
Geschätzter Beitragender II
885Aufrufe
>>...Whenever a new transcoding requirement comes, before trying to run the task the obvious first step would be to estimate whether >>there are currently available GPU resources... I'm not sure that Intel Media SDK provides API for verification of availability of GPU resources. However, I know that NVIDIA APIs allow to do it and that subject was recently discussed on the forum.
Petter_L_Intel
Mitarbeiter
885Aufrufe

All,

Intel Media SDK does not have the capability to report GPU load. And unfortunately there is currently no Windows tool that provides GPU load programmatically or via command line utility (as far as we know).

We are exploring possible solutions to this request and will keep the community posted as soon as we have new information to share.

In the meantime we suggest exploring the method that "andy4us" suggested.

Regards,
Petter 

SergeyKostrov
Geschätzter Beitragender II
885Aufrufe
>>... there is currently no Windows tool that provides GPU load programmatically or via command line utility (as far as we know)... Some WMI providers allow to get GPU load, its temperature, and another attributes. An utility with GUI to access to WMI and explore is wbemtest.exe.
Bernard
Geschätzter Beitragender I
885Aufrufe

Hi Mamil, there is Nvidia PerfKit tool which could probably be  used to gather performance data. Web Link //developer.nvidia.com/nvidia-perfkit

Bernard
Geschätzter Beitragender I
885Aufrufe

I do not know if Nvidia exposes for user mode software  an API functions used to access GPU performance counters which are accessed from within the driver.

SergeyKostrov
Geschätzter Beitragender II
885Aufrufe
All existing NVIDIA SDKs ( many! ) are for applications with Win32 applications and I don't see any relevance to applications with driver(s) ( see the initial question of the post ).
Bernard
Geschätzter Beitragender I
885Aufrufe

Thanks for informing.

Initial question was answered by me in my first post.In second post I asked about the availability of Nvidia specific API  to query hardware counters from user mode.It is not relatd to any drivers.

SergeyKostrov
Geschätzter Beitragender II
885Aufrufe
>>...Initial question was answered by me in my first post... The question was about how to '...to estimate whether there are currently available GPU resources...' in some application using API and Not some magic performance tool.
Bernard
Geschätzter Beitragender I
885Aufrufe

And you in your post provided an example of WMI based tool wbemtest.exe  and how it is related to original poster question.

Antworten