Altera_Forum
Honored Contributor
10 years agoProgram FPGA with multiple different kernels in parallel
I'd like to be able to run multiple kernels with different operations at the same time using the CycloneV SoC (DE1-SoC). Can you guys check if my understanding is correct:
- It's possible to compile multiple different kernels into the same aocx file
- How are these kernels called from the host side? Do I just duplicate the relevant OpenCL API calls like clCreateProgramWithBinary, clBuildProgram, clCreateKernel, clEnqueueNDRangeKernel, etc. for each kernel?
- For point# 2 above (duplicating the API calls), does it program the FPGA once with all the kernels so they can be run at the same time? Or does the FPGA get programmed with the first kernel, run the first kernel, then reprogram with the second kernel, run the second kernel, and so on?
- If I use `aocl flash` to load the aocx image into the FPGA, the FPGA will automatically be programmed with my kernels upon startup and I won't need to reprogram the FPGA with clCreateProgramWithBinary in my host program. Is that right?