Display directly using GPU without CPU

I am using a VBO to calculate a triangle mesh. I would like to keep the array on the GPU memory and display it without have to transfer it on the CPU. How can I do?

Details : I began with the “simpleGL” exemple provided with the SDK Cuda and I transformed it to have a mesh using triangle-strip. The array of points is calculated with the kernel on the gpu and come back on the CPU to be display. Is it possible to do that directly on the GPU

I don’t think you can do it… at least not yet. Check this -
CUDA FAQ on the forum Scroll down to the Programming Questions and check Question 7.

I suppose, what you are want to do is similar to writing directly to the framebuffer…

Let me know if you find out something different, I am looking for that too…

You cannot do this. If you are just doing it to debug, you can print in device emulation mode, but you cannot print directly from the card.

One reason for this is that printf, and other I/O functions in C cannot access the memory of the GPU, so NVIDIA would have to make their own print functions.

Another reason is that multiple threads would try to print at the same time, and your printed results would probably look like garbage, or would at least be out of order unless you are only running 1 thread.

I’m not sure I follow your question. The simpleGL sample uses VBO and definately does not copy it to the CPU for display. What am I misunderstanding?