Saat menggunakan Intel® SDK untuk OpenCL,™ "Error: Assert failure at ACLMemUtils.cpp(510)" dapat dilihat selama kompilasi kernel seperti yang ditunjukkan di bawah ini:
> AOC kernel.cl -RTL
aoc: Menjalankan parser OpenCL....
aoc: Parser OpenCL berhasil diselesaikan.
aoc: Menghubungkan file Objek....
aoc: Mengoptimalkan dan melakukan analisis statis kode...
Galat: Menegaskan kegagalan di ACLMemUtils.cpp(510) *******
Kesalahan terjadi ketika ukuran memori on-chip adalah (2**n) 1, untuk n >= 5.
Berikut adalah beberapa contoh kode kernel untuk ilustrasi:
#define n 5
ukuran #define (2**n) 1
__kernel void kernel(__global char * membatasi input) {
int mem[ukuran];
untuk (int i = 0; i < ukuran-1; i )
mem[i]=mem[i 1];
mem[size-1] = masukan i;
}
Untuk mengatasi masalah ini,
Gunakan ukuran yang tidak (2**n) 1
Atau
Menggunakan #pragma membuka gulungan pada loop
Masalah ini telah diperbaiki, dimulai dengan Perangkat Lunak Intel® Quartus® Prime versi 18.1