Article ID: 000073896 Content Type: Troubleshooting Last Reviewed: 12/06/2024

Why does the FPGA SDK for OpenCL™ compiler crash when terminating the host process?

Environment

    Intel® Quartus® Prime Pro Edition
    Intel® FPGA SDK for OpenCL™ Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

Terminating the host process can cause the machine to crash/freeze when OpenCL is running.  The BSP requires the host user process to stay alive during certain operations such as DMA transfers.  If the user terminates the host process while such operations are active, the operating system will crash.  This means users of the affected BSPs should avoid things such as: i) hitting ctrl-C; ii) assertions; iii) calling exit(); iv) any abnormal termination in the host programs (null dereference, bus error, uncaught exception, etc).

Resolution

Do not kill or quit applications while running.  To debug asserts/segfaults/uncaught exceptions/etc. switch to using all blocking calls in your host program and calling clFinish immediately after enqueuing any OpenCL work into queues.  Once the abnormal termination has been identified and fixed, revert back to non-blocking calls and reduce clFinish call sites to only when the CPU needs to synchronize with the FPGA.

Related Products

This article applies to 1 products

Intel® Programmable Devices

1