VkFFT
VkFFT copied to clipboard
Add OpenCL event management
Here we create a chain of events that starts with a marker event that is started when VkFFTAppend is called and each opencl kernel invocation depends on the previous event. If the user gives an address for an event, the last event is returned to the user.
cc @zachjweiner, @yves-surrel, @inducer
Fixes #39
Hello,
Thanks for your effort, this is a start on event implementation, but your pull request won't work as of now:
- There is a missing first part of the conditional on the line 27806
- &app->configuration.event = new_event; on the line 27805 won't work as &app->configuration.event is cl_event**. You need to allocate memory on that pointer with malloc and free it when the app is deleted because when the function exits new_event is deallocated.
- User's events pointer is not propagated into the application local configuration during initialization. All launch parameters should be possible to set through configuration.
- If we start to add events, we need to check that VkFFT kernels are executed in order, as I was told that was not always the case. Similar to what I do with pipeline memory barriers in Vulkan.
I will look into this more thoroughly later.
Best regards, Dmitrii