ID del artículo: 000073940 Tipo de contenido: Resolución de problemas Última revisión: 01/02/2023

¿Por qué se produce pánico en el kernel cuando las aplicaciones de OpenCL™ se ejecutan en Intel® FPGA Development Kits con la compatibilidad de IOMMU habilitada?

Entorno

    Intel® Quartus® Prime Pro Edition
    Intel® FPGA SDK para OpenCL™ edición Pro

Linux*

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descripción

Al ejecutar aplicaciones de host OpenCL™ en un kit de desarrollo conectado mientras IOMMU (por ejemplo, intel_iommu) está habilitado en un kernel de Linux, puede producirse un pánico en el kernel y provocar que el host se cuelgue.

Esto puede ocurrir incluso si se superan el "diagnóstico aocl" y el "programa aocl". El bloqueo se produce porque los paquetes de compatibilidad de placas OpenCL™ (BSPs) para los kits de desarrollo no son compatibles con SR-IOV.

 

 

Resolución

Para solucionar este problema, desactive la funcionalidad de IOMMU:

Por ejemplo en CentOS7.4, con grub2, UEFI y intel_iommu:

1. Edite /etc/default/grub y elimine la siguiente línea.
  intel_iommu =activado en GRUB_CMDLINE_LINUX

2. Actualizar el archivo de configuración de grub

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

3. Reinicie

4. Verifique /proc/cmdline

    Asegúrese de que intel_iommu=on no aparezca en la línea de comandos del kernel.

 

Esta solución transitoria no se aplica a la tarjeta de aceleración programable (PAC) Intel FPGA, ya que ese BSP OpenCL™ es compatible con SR-IOV.  Si IOMMU está deshabilitado cuando se utiliza PAC, consulte la Guía de inicio rápido de la pila de aceleración Intel® a fin de obtener instrucciones para habilitar el controlador Intel IOMMU.

Productos relacionados

Este artículo se aplica a 3 productos

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

1

El contenido de esta página es una combinación de traducción humana y automática del contenido original en inglés. Este contenido se proporciona únicamente para su comodidad como información general y no debe considerarse como completo o preciso. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.