interactive opencl

good morning everyone,

I’m starting with opencl :oops: . I am trying to code a ‘sandman’ from a 3d pointcloud stream, that is particles whose starting positions are each pointcloud frame. I know how to do that for one frame[1], but I couldn’t figure out what’s the appropriate way of doing that over and over. Am I supposed to call clEnqueueWriteBuffer at each frame passing the address of the pointcloud vector memory and the device memory will catch up whenever it is done? From what I read, changes in the write buffer are not seen by the kernels.

Sorry for what seems like a beginner’s question. I’ve been looking for a while for the answer, but all the examples I’ve seen they set everything at the beginning instead of interacting with it. A similar question might be thread 12921 [2], but there the kernels stop. I believe the usual way of doing this is recycling particles, but how can the kernel get the newest starting positions is unknown to me.

[1]GitHub - enjalot/adventures_in_opencl: A tutorial series for learning OpenCL part 2
[2]multiple NDRangeKernel calls : output become input - OpenCL - Khronos Forums