Intel Software: Intel FPGA SDK for OpenCL

Type: Answers, KDB Area

Area: OpenCL


Last Modified: August 28, 2018
Version Found: v18.0
Bug ID: FB: 575498;

Error: Assert failure at ACLMemUtils.cpp(510)

Description

When using the Intel® SDK for OpenCL™, “Error: Assert failure at ACLMemUtils.cpp(510)” may be seen during a kernel compile as shown below:

> aoc kernel.cl -rtl

aoc: Running OpenCL parser....

aoc: OpenCL parser completed successfully.

aoc: Linking Object files....

aoc: Optimizing and doing static analysis of code...

******* Error: Assert failure at ACLMemUtils.cpp(510) *******

 

 

The error occurs when an on-chip memory size is (2**n)+1, for n >= 5.

Here is some example kernel code for illustration:

#define n 5

#define size (2**n)+1

__kernel void kernel(__global char * restrict input) {

    int mem[size];

    for (int i=0; i<size-1; i++) 

        mem[i]=mem[i+1];

    mem[size-1] = input+i;

}

Workaround/Fix

To work around this problem,

   Use a size that is not (2**n) + 1

or

   Use #pragma unroll on the loop

 

This problem is fixed, beginning with Intel® Quartus® Prime Software version 18.1