- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Isee thatthe GPU I am using,supports 16 concurrent kernels. I am starting 10 kernels by looping through clEnqueueNDRangeKernel for 10 times. Each of the kernel is tied to a different command queue. How do I get to know that the kernels are executing concurrently?
One way which I have thought is to get the time before and after the NDRangeKernel statement. I might have to use events so as to ensure the execution of the kernel has completed. But I still feel that the loop will start the kernels sequentially. Can someone tell me if this is the right way to start concurrent kernels..?
One way which I have thought is to get the time before and after the NDRangeKernel statement. I might have to use events so as to ensure the execution of the kernel has completed. But I still feel that the loop will start the kernels sequentially. Can someone tell me if this is the right way to start concurrent kernels..?
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Are you talking about Nvidia GPU?
clEnqueueNDRangeKernel only enques the kernelto the command queue. You are enqueueing the commands sequentially in the loop.Then you'd run your commands (including your kernels) on theGPU by calling clFlush which is not a blocking call. But I am not too sure how you can make sure your kernels are running concurrently. I'd be curious to know too.
Raghu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
After muchgoogling around,I got to know that there is something called Device fission by which we can create subdeviceson the single device and then execute different kernels on those subdevices. I am still reading on it.
Ya am talking about the NVIDIA GPU.
Kindly comment if anyone has more idea on device fission.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Device fission allows for creating sub-devices from your device, thus, giving more control of the underlying hardwareto the programmer. Each sub-device can have it's own context, command queues etc.
I am not sure ifGPUs, particularly NVidia,support device fission.
Raghu
I am not sure ifGPUs, particularly NVidia,support device fission.
Raghu

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page