- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Our software makes use of Media SDK 2019 R1. We use CPU-side QuickSync. We are interested in shipping our product with an Intel Arc, to offload encode and decode from the CPU-side to the graphics card.
Will the SDK dispatcher find the graphics card impl, or will additional code (perhaps a new SDK) be required? We use the D3D 11 surfaces path at the moment.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Good day to you.
VPL Dispatcher dispatches the application to use either the VPL GPU runtime or the Media SDK GPU Runtime. VPL dispatcher can be used with legacy(pre-Xe) and newer (Xe or more advanced) hardware if only the core features or core APIs are used. Here are some examples of some simple VPL features that have been implemented using coreAPIs: https://github.com/oneapi-src/oneVPL/tree/master/examples/coreAPI
Regarding the last question of whether VPL will select ARC GPU over CPU, VPL dispatcher walks through all the available runtime libraries (libmfx-gen, libvplswref) available and returns a sorted list of VPL implementations which are associated with specific Hardware based on performance score and specified codec. So VPL will always choose an Intel ARC over a CPU.
If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!
Regards,
Jaideep
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thank you for posting in Intel communities.
Could you please explain which software you are using?
Thanks,
Jaideep
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We are an application development house. We're using the SDK, as described above (fyi, Visual Studio 2019 and Visual Studio 2022).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Can you use Intel OneVPL instead of MSDK: (https://github.com/oneapi-src/oneVPL-intel-gpu)
to leverage the capabilities of ARC GPU. OneVPL will find all the available integrated GPUs and discrete GPUs available in the system. You can find the list of supported Intel GPUs by oneVPL Runtime here:
https://github.com/oneapi-src/oneVPL-intel-gpu#how-to-use
Also, please use the latest beta driver for ARC GPU: (https://www.intel.com/content/www/us/en/download/729157/intel-arc-graphics-windows-dch-driver-beta.html).
For the CPU implementation, you should use FFmpeg.
If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!
Regards,
Jaideep
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK. Though I won't be using FFmpeg (I'm writing the impl, not using someone else's) it seems the solution for me is to play with the card (now arrived) and also to switch out to OneVPL, replacing MediaSDK.
I have to say I continue to be baffled by the support matrix, which suggests OneVPL does not support older platforms (Coffee Lake for example). I really don't want to have to support two implementations in my software (a MediaSDK path and a OneVPL path).
GPU | Supported |
---|---|
TGL (Tiger Lake) | ✔ |
DG1 (Xe MAX) | ✔ |
RKL (Rocket Lake) | ✔ |
ADL-S (Alder Lake S) | ✔ |
ADL-P (Alder Lake P) | ✔ |
Looking at OneAPI samples it seems the MFX_IMPL_HARDWARE/2/3/4 parameter is used for -hw and it's not really clear to me whether the default will choose an Intel ARC over CPU. The idea here is to offload processing from the CPU of course (QuickSync, not software implementation).
Conclusion is this all seems to be a bit of a mess, and I should just play with it and find out.
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Good day to you.
VPL Dispatcher dispatches the application to use either the VPL GPU runtime or the Media SDK GPU Runtime. VPL dispatcher can be used with legacy(pre-Xe) and newer (Xe or more advanced) hardware if only the core features or core APIs are used. Here are some examples of some simple VPL features that have been implemented using coreAPIs: https://github.com/oneapi-src/oneVPL/tree/master/examples/coreAPI
Regarding the last question of whether VPL will select ARC GPU over CPU, VPL dispatcher walks through all the available runtime libraries (libmfx-gen, libvplswref) available and returns a sorted list of VPL implementations which are associated with specific Hardware based on performance score and specified codec. So VPL will always choose an Intel ARC over a CPU.
If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!
Regards,
Jaideep
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Marvellous. That is what I wanted to know. Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Glad to know that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.
Thanks,
Jaideep
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page