Forum Discussion
MuhammadAr_U_Intel
Contributor
6 years agoHi,
Since you are using SDK version 18.1, autorun kernel are supported.
In hardware, autorun kernels never stop running, even without an infinite loop. The emulator replicates this behavior by re-executing the autorun kernel whenever it completes.
Note: printf is not supported in autorun kernels. (You can try removing them from emulation code.)
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/aocl_programming_guide.pdf
Page 137
"In terms of ordering the printed lines, the output of the printf function might be ordered differently on the Emulator and hardware. This is because, in the hardware, printf data is stored in a global memory buffer and flushed from the buffer only when the kernel execution is complete, or when the buffer is full. In the Emulator, the printf function uses the x86 stdout"
Thanks,
Arslan