Article ID: 000073940 Content Type: Troubleshooting Last Reviewed: 02/01/2023

Why does a kernel panic occur when OpenCL™ Applications are executed on Intel® FPGA Development Kits with IOMMU support enabled?

Environment

  • Intel® Quartus® Prime Pro Edition
  • Intel® FPGA SDK for OpenCL™ Pro Edition
  • Linux*

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    When executing OpenCL™ host applications on an attached development kit while IOMMU (e.g. intel_iommu) is enabled in a Linux Kernel, a kernel panic may occur and cause the host to hang. 

    This may happen even if 'aocl diagnose' and 'aocl program' pass. The hang occurs because the OpenCL™ board support packages (BSPs) for the development kits don't support SR-IOV.

     

     

    Resolution

    To work around this problem, disable IOMMU functionality :

    For example on CentOS7.4, with grub2, UEFI and intel_iommu :

    1.  Edit /etc/default/grub and delete the following line.
        intel_iommu=on in GRUB_CMDLINE_LINUX

    2. Update grub configuration file

         grub2-mkconfig  -o /boot/efi/EFI/centos/grub.cfg

    3. Reboot

    4. Check /proc/cmdline

        Ensure intel_iommu=on does not appear on the kernel command line.

     

    This workaround does not apply to the Intel FPGA Programmable Acceleration Card (PAC) since that OpenCL™ BSP does support SR-IOV.  If IOMMU is disabled when using the PAC, refer to the Intel® Acceleration Stack Quick Start Guide for instructions to enable the Intel IOMMU driver.

    Related Products

    This article applies to 3 products

    Intel® Stratix® 10 GX FPGA
    Stratix® V GX FPGA
    Intel® Arria® 10 GX FPGA