mikeseven / node-opencl

Low-level OpenCL 1.x and 2.x bindgings for node.js
156 stars 33 forks source link

enqueueXXX with events true extreamly slow after many iterations (NVIDIA) #47

Open jeremydiviney opened 8 years ago

jeremydiviney commented 8 years ago

after a few thousand iterations of this kind of loop

{ kernel_events = cl.enqueueNDRangeKernel(.......,true) read_event =cl.enqueueReadBuffer(.......,true) cl.waitForEvents([read_event]); }

on my NVIDIA SDK/hardward (GTX 970), it start getting very very slow, like 1000x slower than the loop take for the first few thousand iteration.

The only thing that prevents this is passing false on the last parament, so no events are returned, this it runs fine for basically unlimited iterations.

on a side now, it also seems like with the NVIDIA SDK, the enqeueXXX functions block on their own without doing waitForEvents or cl.finish etc...

mikeseven commented 8 years ago

You must release events when you don't use them otherwise it will wait for thousands of events that will also creep memory.

-- mike

On Wed, Jul 6, 2016 at 12:15 AM -0700, "jeremydiviney" notifications@github.com<mailto:notifications@github.com> wrote:

after a few thousand iterations of this kind of loop

{ kernel_events = cl.enqueueNDRangeKernel(.......,true) read_event =cl.enqueueReadBuffer(.......,true) cl.waitForEvents([read_event]); }

on my NVIDIA SDK/hardward (GTX 970), it start getting very very slow, like 1000x slower than the loop take for the first few thousand iteration.

The only thing that prevents this is passing false on the last parament, so no events are returned, this it runs fine for basically unlimited iterations.

on a side now, it also seems like with the NVIDIA SDK, the enqeueXXX functions block on their own without doing waitForEvents or cl.finish etc...

You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/mikeseven/node-opencl/issues/47, or mute the threadhttps://github.com/notifications/unsubscribe/AAxYLEcsD7x-3f3Odswu8Mw3MkF1CYRrks5qS1X2gaJpZM4JFz-o.