Ao usar a Intel® SDK para OpenCL™, "Error: Assert failure at ACLMemUtils.cpp(510)" pode ser visto durante uma compilação de kernel, conforme mostrado abaixo:
> kernel.cl -rtl
aoc: Executando o analisador OpenCL....
aoc: parser OpenCL concluído com sucesso.
aoc: Ligando arquivos de objetos....
aoc: otimizando e fazendo análise estática de código...
Erro: Assert failure at ACLMemUtils.cpp(510) *******
O erro ocorre quando o tamanho da memória no chip é (2**n) 1, para n >= 5.
Aqui está algum exemplo de código do kernel para ilustração:
#define n 5
Tamanho do #define (2**n) 1
__kernel kernel vazio (caractere __global * entrada de restrição) {
int mem[tamanho];
para (int i=0; i<size-1; i)
mem[i]=mem[i 1];
mem[size-1] = entrada i;
}
Para contornar esse problema,
Use um tamanho que não seja (2**n) 1
Ou
Use #pragma desempregado na malha
Este problema foi resolvido, começando com o Software Intel® Quartus® Prime versão 18.1