Q. Directly feed data from SDI to GPU memory
A. Yes. It is possible to directly feed data from SDI input to GPU memory on AMD FirePro dGPUs. This is called DirectGMA.
DirectGMA removes CPU bandwidth and latency bottlenecks and optimizes communication between GPUs within a system as well as third-party devices like SDI I/O cards. DirectGMA bypasses any need to traverse the host’s main memory, reducing CPU utilization and helping to avoid redundant transfers over PCIe, resulting in high-throughput, low-latency data transfers.
Please refer to the following links for more information
Q. Compress the video using OpenCL
A. Yes. OpenCL can be used to write video compression algorithm. However AMD GPUs have two engines specifically designed to compress – decompress video. AMDs Universal Video Decoder (UVD) which decodes compressed data and the Video Coding Engine (VCE) which compresses raw input data.
AMD MediaSDK leverages the AMD platform for multimedia processing. Media SDK v1.1 introduced the AMD Media Framework (AMF) library for video encoding and decoding. The release provides basic samples that enable you to realize these video pipeline.
Thanks, Amit. This is exactly what I am looking for.
I looked at the spec sheet for the FirePro V7900, and I see that it only supports PCIe 2.0 and OpenCL 1.1.
Is there a plan to upgrade this to PCI 3 and OpenCL 1.2 ? I have a video compression kernel that is written
for OpenCL 1.2.
Amit, Do you have a list of SDI capture boards that work with DirectGMA ?
The AMD FirePro™ V7900 SDI professional graphics card is the first such product from AMD supporting the AMD FirePro SDI-Link platform. There are other dGPUs which support OpenCL 1.2 and PCIe 3.0.
Please refer to the following link. It has all the list of cards which support DirectGMA and SDI-Link. This link also mentions the FirePro™ dGPUs which support OpenCL 1.2 and PCIe 3.0.
In particular, FirePro™ Workstation Series dGPUs (FirePro W5100, W7100, W8000, W8100, W9000, W9100) support SDI-Link with PCIe 3.0 and OpenCL 1.2 (and even 2.0) for low-latency transfer between SDI input and the dGPU.
Please do let us know in case of any clarifications.
Thanks, these cards would be perfect for my use case.
But, this will only work if there are SDI capture boards out there that support SDI-Link.
Do you have an up to date list of such cards?
So, I tracked down this brochure from last year:
with a list of SDI cards supporting DirectGMA.
So far, so good.
Now, I need to know how I can get access to the SDILink SDK. Is it freely available? If not, how is it licensed?
Update from BlackMagick Software Development Forums:
"This functionality is provided via the Decklink SDK and you can implement it by using AMD Firepro graphics cards from Firepro W series with the model number 5000 and higher. We do not support the S or R series at this time. It supports all Decklink cards that are able to do input and output or Decklink SDI 4K, Duo, Quad, Studio 4K, Extreme 4K and Extreme 4K 12G.
AMD SDI Link / Direct GMA is supported on Windows 7 and Linux for x86 and x64 architectures where those platforms are also supported by AMD. DirectGMA support requires the use of the GL_AMD_pinned_memory GL extension supported by compatible AMD OpenGL drivers.
Recommend you download our SDK from support page for playback and capture cards under latest downloads (scroll down until you see SDK 10.3.1 Nov 20 2014)
See the LoopThroughWithOpenGLCompositing under each OS samples/bin folder for a detailed example of integrating the DeckLink API and AMD DirectGMA."