ID del artículo: 000073897 Tipo de contenido: Resolución de problemas Última revisión: 16/08/2023

¿Por qué se produce un volcado de pila durante una compilación de kernel OpenCL™ si el recuento de bucles excede el número de canales asignados?

Entorno

  • Intel® Quartus® Prime Pro Edition
  • Intel® Quartus® Prime Standard Edition
  • Intel® FPGA SDK para OpenCL™ edición Pro
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descripción

    Un volcado de pila puede ocurrir durante una compilación de OpenCL™ si un bucle contiene una escritura en un canal indexado y el recuento de bucles supera el número de canales asignados. Vea el código de ejemplo a continuación.

    canal char sin firmar my_channel[16] __attribute__((profundidad(1024)));
    datos de char[32];

    ...
    for (char i sin signo = 0; i < 32; i ) {
    write_channel_intel(my_channel[i], datos[i]);

    }

    Resolución

    Asegúrese de que el número de bucles nunca supere el número de canales asignados.

    #define num_channels 32

    canal char sin firmar my_channel[num_channels] __attribute__((profundidad(1024)));
    datos de char[num_channels];

    ...
    for (char i sin signo = 0; i < num_channels; i ) {
    write_channel_intel(my_channel[i], datos[i]);

    }

    Este problema se solucionó a partir de la versión 19.1 del SDK de Intel® FPGA para compilador OpenCL™.

    Productos relacionados

    Este artículo se aplica a 1 productos

    Dispositivos programables Intel®

    El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. 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.