I have some problems when calling clGetProgramInfo(program, CL_PROGRAM_BINARIES, sizeof(binary), &binary, NULL);
when calling it for a GPU device, the binary buffer contains the program binaries and i can execute it on the GPU.
when calling the same function for a CPU device, the binary buffer contains "file///tmp/OCLstyilF.so". This file seems to contain an ELF binary.
I guess that I could by to read the ELF binary in order to execute the kernel on the CPU, however, it is disturbing that the clGetProgramInfo function has two different behaviors depending on the device type.
Any idea on how to solve the problem ?