0

My goal is to complete FFTs of 2 - 4K Data points together. Hence, I made 2 kernel objects from the same kernel and Enqueued the tasks at once, i.e. without any Buffer Read-Write or any callbacks in between. I find out that it doesn't happen that way. In addition to that, there is also some idle time between the executions. Can someone please explain? AOCL Report of the Program

I was expecting both of them to run in parallel because my FPGA seems to have more area. About 38 percent of it is used.

2 Answers 2

0

The OpenCL queue works sequentially, so one kernel is executed after the other. This makes sure that - if kernel 2 reads memory that kernel 1 has updated, there is no race condition like if they would run concurrently. There may also be some latency to start execution of a kernel.

To run multiple kernels in parallel, you can try multiple queues.

Sign up to request clarification or add additional context in comments.

1 Comment

I have used 2 different command queues, different kernel objects for both and there is no common buffer or memory shared between them too. I have also checked the report on Device area utilization and I still have approx 70 percent of resources not assigned to anything..
0

I found this question that kind off answers my doubts. It can be foundhere

1 Comment

Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.