Output to DVI

I have been looking through the CUDA Programming Guide 1.1, but it doesn’t mention DVI or any other ports.

I would like to write custom data to the DVI-out, which is NOT intended for monitors. But, it will most likely be output to an FPGA or ASIC device that will process the information.

Can anyone tell me if this is possible? Where can I find more information?

Thank you

CUDA currently has no I/O capabilities except to and from memory. I also think outputting directly from CUDA would give big synchronisation problems.

Do you know if I/O capabilities will be implemented in the near future? My intention was to use serialize each individual pin. So, have parallel serialized outputs.

Thanks again

Have you considered using a different PCI card for your interface, and simply copying from GPU to host memory, and from host memory to a PCI interface card instead? With PCIe 2, even with the extra copies through host memory you ought to be able to beat what you’re likely to achieve through the DVI connector.

If there’s some reason you desperately need to I/O to the DVI, you could use OpenGL to “draw” your data. Good luck to you…


Given the 21-160 MHz signaling rate of DVI, I doubt the individual pin states are programmable. More than likely there is a dedicated ASIC hardwired to translate the framebuffer to DVI signals without too much software intervention.

on a related note, mapping directly the framebuffer would be nice

Sorry for the late reply. The holidays are taking up much of my time. Thank you everyone for your replies. I am understanding a lot more now.

You are right. It makes sense that a custom ASIC would probably be used to maintain such a high clock rate. At least now I know that I won’t be able to write custom data to DVI

Using another PCI card didn’t cross my mind, because I need to transfer all the data to an external device. I can’t help but think that I am missing something. How could using another PCI device be implemented into outputting data externally?

You can get PCI/PCI-Express cards which provide external, programmable digital I/O lines:


That’s just one example. I’m sure with some digging, you could find much cheaper devices.

Ahh, I see what you mean. Thanks!