Article ID: 000077386 Content Type: Error Messages Last Reviewed: 08/15/2023

Error: Assert failure at ACLMemUtils.cpp(510)

Environment

  • Intel® Quartus® Prime Pro Edition
  • Intel® FPGA SDK for OpenCL™ Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    When using the Intel® SDK for OpenCL™, “Error: Assert failure at ACLMemUtils.cpp(510)” may be seen during a kernel compilation 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 the 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;

    }

    Resolution

    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

    Related Products

    This article applies to 1 products

    Intel® Programmable Devices