1.) The safest way might be to store your cuda data in linear device memory.
2.) In OpenGL, allocate a texture big enough to hold this data.
3.) Use the Cuda-OpenGL interop to get the OpenGL texture mapped as cuda array ( cudaGraphicsMapResources, cudaGraphicsSubResourceGetMappedArray)
4.) Use cudaMemcpyToArray to copy the linear data to the mapped OpenGL array.
5.) Unmap the texture (cudaGraphicsUnmapResources)
6.) Render using texture access in the vertex shader.
It is theoretical possible to write directly to the mapped array, however this caused a lot of headache for me a few months ago(worked with older drivers(v197.xx), was broken with newer ones). Maybe it works now.
Or, as an alternative, there is the sample “SimpleGL” in the SDK which updates Vertex Buffer Objects by cuda before rendering.