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®

1

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.