Hi Chris,

Not sure what you're asking. The code you show doesn't apply--it uses
the 'runtime API' (cudaXyz...), PyCUDA uses the 'driver API'
(cuXyz...). And the piece of Peter's example that worries about
exchanging data with PyCUDA (lines 162-192) is about the same in
complexity as what you're showing.

Andreas

Chris Uchytil <uchyt...@uw.edu> writes:
> I am brand new to CUDA and OpenGL and I have found that tutorials and
> resources on a lot of this material is rather scares or not straight
> forward so I am hoping I can get some assistance here. I am working on a
> project attempting to convert some CUDA and OpenGL C++ code over to Python.
> The code is a basic Kernal that computes distance from a point (To emulate
> light on a wall from a flashlight) and sends the calculated array to OpenGL
> to display the light intensity. You can move your mouse/"Flashlight" around
> to move the light around on the screen. I have been successful in
> converting the Kernal code over to Python using the Numba python package.
> What I am having trouble with is the Open GL Interoperability stuff. I
> can't really find an info that describes the process of interop in a simple
> fashion so I'm not really even sure what the setup process is. It sounds
> like you need to create something called a pixel buffer and send that to
> the kernal. From what I can tell the C++ code uses this simple function to
> do this.
>
> // texture and pixel objects
> GLuint pbo = 0;
> GLuint tex = 0
> struct cudaGraphicsResource * cuda_pbo_resource;
>
> void render() {
> unchar4 *d_out = 0;
> cudaGraphicsMapResources(1, &cuda_pbo_resource, 0);
> cudaGraphicsResourceGetMappedPointer((void**)&d_out, NULL,
> cuda_pbo_resource);
> kernelLauncher(d_out, W, H, loc);
> cudaGraphicsUnmapResources(1, &cuda_pbo_resource, 0);
> }
>
>
> I can't find any info that describes the python equivalent of
> cudaGraphicsMapResources, cudaGraphicsResourceGetMappedPointer, and
> cudaGraphicsUnmapResources. I've found a GL interop example by  by Peter
> Berrington (https://wiki.tiker.net/PyCuda/Examples/GlInterop) but it seems
> to me to be overly complicated in how it creates PBO's and textures and
> such when compared to the C++ code.
> _______________________________________________
> PyCUDA mailing list
> PyCUDA@tiker.net
> https://lists.tiker.net/listinfo/pycuda


_______________________________________________
PyCUDA mailing list
PyCUDA@tiker.net
https://lists.tiker.net/listinfo/pycuda

Reply via email to