Altera_Forum
Honored Contributor
8 years agoOpenCL kernel finish event never occurs
I have a SoC design using Quartus 16.0. In the design, the ARM allocates a few buffers (cl_mem objects) using OpenCL. The physical address of those buffers are given to an mSGDMA core to capture data collected by the FPGA. This is to negate the need to copy data. On interrupt from the mSGDMA, the ARM passes the cl_mem object for that buffer to an OpenCL kernel to process the data.
Using memtool to look at the contents of RAM, I can see the data has been completely processed by the OpenCL kernel. /proc/interrupts also shows an interrupt occurred for the aclsoc driver but the call to clWaitForEvents with the kernel's finish event never returns. Unfortunately, I don't have a minimal example to replicate the behavior at this time. Are there any common causes I may be overlooking for the kernel not formally finishing?