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]);
}
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™.