Devido a um problema na versão 19.1 e 19.2 do SDK Intel® FPGA para OpenCL™, ao executar projetos OpenCL™, o cliente pode encontrar que a execução do kernel e a transferência de dados de memória não podem ser executados simultaneamente, mesmo que não haja dependência entre eles no código do host. Abaixo está um exemplo: não há dependência de eventos entre clEnqueueWriteBuffer e clEnqueueNDRangeKernel, e uma fila de comando diferente é usada para inovar esses comandos. Mas no relatório de perfil, ele mostra a execução do kernel e a transferência de dados executados em ordem em vez de em paralelismo.


Isso ocorreu devido a um bug na versão 19.1 e 19.2 do SDK Intel® FPGA para OpenCL™, que estava causando o lançamento atrasado dos kernels, quando há um acesso DDR simultâneo do host e do Kernel. Os lançamentos do Kernel estavam sendo adiados, mesmo que o kernel e o host acessavam uma parte diferente da memória DDR.
Esta dependência incorreta do lançamento do kernel foi corrigida na versão 19.3 do SDK Intel® FPGA para OpenCL™.