Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asynchronous kernels #14

Closed
ProGTX opened this issue Oct 25, 2015 · 2 comments
Closed

Asynchronous kernels #14

ProGTX opened this issue Oct 25, 2015 · 2 comments

Comments

@ProGTX
Copy link
Owner

ProGTX commented Oct 25, 2015

Much of the work on synchronization (#13) between command groups (latest commit 654ed42) didn't produce the expected results, as due to a lack of understanding, kernels weren't launched asynchronously, so synchronization did not help.

I wanted to do this with OoO queue execution, but I don't think I can really on that, as the OpenCL implementation is apparently optional. A better course of action seems to be to use a different queue for each command group. In most cases one command group contains one kernel, so this ensures asynchronous execution. What we then also need is synchronization between command groups, which is already in pretty good condition.

@ProGTX
Copy link
Owner Author

ProGTX commented Oct 25, 2015

This is proving hard to test. So far I've only been successful by running test4, but first disabling debugging (92bd424), setting N to 32M, running on the GPU and running for instances of the program at the same time. I tested it first by setting buffers to block and then not to block.

I guess this is because even 128MB (32M *4B) is still quite fast to copy.

@ProGTX
Copy link
Owner Author

ProGTX commented Oct 25, 2015

As hinted to in previous comment, the latest commit on asynchronous kernels (19fd892) seems to do the trick, kernels get executed concurrently, even though the current tests aren't able to really demonstrate it. Need new tests, but as far as the issue is concerned, the goal was reached.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant