Intel® FPGA SDK for OpenCL™ Pro Edition: Custom Platform Toolkit User Guide
ID
683085
Date
3/28/2022
Public
1. Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit User Guide
2. Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit Reference Material
3. Intel FPGA SDK for OpenCL Pro Edition Custom Platform Toolkit Archives
4. Document Revision History for Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit User Guide
1.1. Prerequisites for the Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit
1.2. Overview of the Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform
1.3. Custom Platform Automigration for Forward Compatibility
1.4. Creating an Intel® FPGA SDK for OpenCL™ Custom Platform
1.5. Applying for the Intel® FPGA SDK for OpenCL™ Pro Edition Preferred Board Status
1.6. Shipping Recommendations
2.3.1. aocl_mmd_get_offline_info
2.3.2. aocl_mmd_get_info
2.3.3. aocl_mmd_open
2.3.4. aocl_mmd_close
2.3.5. aocl_mmd_read
2.3.6. aocl_mmd_write
2.3.7. aocl_mmd_copy
2.3.8. aocl_mmd_set_interrupt_handler
2.3.9. aocl_mmd_set_device_interrupt_handler
2.3.10. aocl_mmd_set_status_handler
2.3.11. aocl_mmd_yield
2.3.12. aocl_mmd_shared_mem_alloc
2.3.13. aocl_mmd_shared_mem_free
2.3.14. aocl_mmd_program
2.3.15. aocl_mmd_reprogram
2.3.16. aocl_mmd_hostchannel_create
2.3.17. aocl_mmd_hostchannel_destroy
2.3.18. aocl_mmd_hostchannel_get_buffer
2.3.19. aocl_mmd_hostchannel_ack_buffer
2.3.20. aocl_mmd_host_alloc
2.3.21. aocl_mmd_free
2.3.22. aocl_mmd_device_alloc
2.3.23. aocl_mmd_shared_alloc
2.3.24. aocl_mmd_shared_migrate
2.3.14.1. Program Support
For Intel® FPGA SDK for OpenCL™ Pro Edition users who program their FPGAs with the clCreateProgramWithBinary flow (that is, program-on-the-fly), the aocl_mmd_program subroutine is used to configure the FPGA from within the host applications. The host ensures that this call executes only when the FPGA is idle, meaning that no kernels are running and no transfers are outstanding. The MMD layer must then reconfigure the device with the data in the user_data argument of aocl_mmd_program.
The data in the user_data argument is the same fpga.bin data created during Intel® Quartus® Prime compilation. The Intel® FPGA SDK for OpenCL™ Offline Compiler packages the exact contents of fpga.bin into the .aocx file during compilation. The contents of the fpga.bin is irrelevant to the offline compiler. It passes the file contents through the host and to the aocl_mmd_program call via the user_data argument.
For more information about the clCreateProgramWithBinary function, refer to the OpenCL Specification version 1.0 and the Programming an FPGA via the Host section of the Intel® FPGA SDK for OpenCL™ Pro Edition Programming Guide.