Stream on HDMI ports

Greetings,

I am looking for documentation on getting a Quadro card to output some video streams on HDMI ports.

Details:

  • The OS is CentOS 7.
  • The card is a Quadro M6000.
  • There are 4 HDMI ports on the card.
  • I want to feed each of the 4 HDMI ports with a specific video stream.
  • I use CUDA to generate/buffer the images to be streamed on each port.
  • I don’t know how to map the HDMI ports to the CUDA context.

Is this documented somewhere in the CUDA API? If so, where?
If not, which API is responsible for the mapping and where is the documentation?
Are there examples anywhere?

Thanks!

You can’t map the HDMI ports to a CUDA context.

You would have to go through the graphics output paths, i.e. CUDA/OpenGL interop.

There are CUDA/OpenGL interop samples, along with all the other CUDA sample codes.

Thanks a lot for the fast reply! I’ll have a look.

I checked the samples simpleGL and simpleCUDA2GL. The interopt CUDA/OpenGL is clear. However I found no samples that deal with multiple output ports.

AFAIK OpenGL doesn’t provide a standard way to enumerate output devices. I found the “present_video” extension that seems to achieve this. “This extension provides a mechanism for displaying textures and renderbuffers on auxiliary video output devices.”

https://www.opengl.org/registry/specs/NV/present_video.txt

The extension was last updated in 2011. Is this what I should be using? Does it work on a machine where X11 isn’t running? (I worry about the ‘X’ in glXEnumerateVideoDevicesNV.)

Thank you.

The “present_video” extension isn’t supported on my system, so I need another way.

Bump – does anyone have any information on this?

CUDA is orthogonal to the HDMI ports.

There is no method to access the HDMI ports directly from CUDA.

This particular forum is a CUDA programming forum.

You might get better responses by removing the CUDA aspect of your question, and pose a general question about video output to multiple displays on one of the other forums. For example, if you want to ask questions about OpenGL, there is a separate forum for that.

Once you have a graphics video output method identified, you can use CUDA/OpenGL interop to move data from a CUDA-accessible buffer to an OpenGL-accessible buffer, while keeping the data on-chip.

I’ll try the OpenGL forums as you said. Thanks.