Displaying to screen from CUDA

Hello,

So my question is regarding displaying something written on opengl to screen directly from cuda. I have a tesla D870 desktop system and i am going to get a nvidia gtx 260 or 280 to use for my monitor. I was wondering if theres any way that i can run a CUDA program and have the information transfer directly from my D870 to the gtx260/280 to display to screen. I was thinking this would be faster then going through the nvidia linux driver. Is there any kind of support for that. I am pretty new at CUDA so maybe im asking this the wrong way. I guess let me know. I have looked through the programming guide already.

Adrian

Hello,

So my question is regarding displaying something written on opengl to screen directly from cuda. I have a tesla D870 desktop system and i am going to get a nvidia gtx 260 or 280 to use for my monitor. I was wondering if theres any way that i can run a CUDA program and have the information transfer directly from my D870 to the gtx260/280 to display to screen. I was thinking this would be faster then going through the nvidia linux driver. Is there any kind of support for that. I am pretty new at CUDA so maybe im asking this the wrong way. I guess let me know. I have looked through the programming guide already.

Adrian

There is currently no mechanism to move data directly between two cards in CUDA. The OpenGL interoperability functions in CUDA assume you are running your CUDA code on the same card doing the display. To do what you are asking will require copying the results from the D870 manually to the CPU, then sending it back out to your GTX 280.

The GTX 280 might actually be faster than your D870, depending on what you are doing. You could try running your code directly on the 280.

There is currently no mechanism to move data directly between two cards in CUDA. The OpenGL interoperability functions in CUDA assume you are running your CUDA code on the same card doing the display. To do what you are asking will require copying the results from the D870 manually to the CPU, then sending it back out to your GTX 280.

The GTX 280 might actually be faster than your D870, depending on what you are doing. You could try running your code directly on the 280.

I don’t think so. I can have thr OpenGL-enabled examples running on Tesla and have them display on a Quadro. And they are even faster when running on the Tesla.

Really? That’s neat! Any idea if the data is bouncing through host memory on the way to the Quadro?

Well, I would be very surprised if it was not (direct device-device copies are not existing at this time as far as I understood), but must be honest that I don’t have a clue. You have an idea how I can find out? (in linux 64). I would be happy to try to find out.

Wasn’t sure if the OpenGL drivers had access to some secret sauce that had not yet been exposed to CUDA…

If there was a way to accurately time and measure the amount of data moving from CUDA to the OpenGL context, I guess this could be figured out. A direct copy would be twice as fast as a device->host->device copy.

Probably not important enough to measure, though… :)