Stack dump dapat terjadi selama kompilasi OpenCL™ jika loop berisi tulis ke saluran yang diindeks dan jumlah loop melebihi jumlah saluran yang dialokasikan. Lihat contoh kode di bawah ini.
saluran char tanpa tanda tangan my_channel[16] __attribute__((depth(1024)));
data char[32];
...
untuk (karakter i = 0; i < 32; i ) {
write_channel_intel(my_channel[i], data[i]);
}
Pastikan bahwa jumlah loop tidak pernah melebihi jumlah saluran yang dialokasikan.
#define num_channels 32
saluran char tanpa tanda tangan my_channel[num_channels] __attribute__((depth(1024)));
data char[num_channels];
...
untuk (karakter i = 0; i < num_channels; i ) {
write_channel_intel(my_channel[i], data[i]);
}
Masalah ini telah diperbaiki dimulai dengan versi 19.1 dari Intel® FPGA SDK untuk compiler OpenCL™.