No idea why, but my kernel freezes indefinitely during execution.
input/output declared as shared buffer between host/fpga.
input -> kernel1 -> channel -> kernel 2 -> output.
data_input = clCreateBuffer(context, CL_MEM_ALLOC_HOST_PTR, buffer_size, NULL, &status);
data_output = clCreateBuffer(context, CL_MEM_ALLOC_HOST_PTR, buffer_size, NULL, &status);
b = (float *) clEnqueueMapBuffer(queue_kernel1,data_input,CL_TRUE,CL_MAP_READ,0,size*sizeof(float),0,NULL,NULL,&status);
// put data in b
clEnqueueTask (kernel 1)
clEnqueueTask (kernel 2)
// take data out
out = (float *)clEnqueueMapBuffer(queue_kernel2,data_output,CL_TRUE,CL_MAP_READ,0,size*sizeof(float),0,NULL,NULL,&status);
__kernel1(input){
//load input store in buffer
//send to channel
writeintelchannel(something_ch,buffer);
}
__kernel2(output){
//load data from channel
//some add/mul
output = out;
}