文章 ID: 000077386 内容类型: 错误讯息 上次审核日期: 2018 年 08 月 28 日

Error: Assert failure at ACLMemUtils.cpp(510)

环境

  • 英特尔® Quartus® Prime Pro Edition
  • 面向 OpenCL™ 专业版的英特尔® FPGA SDK
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    使用面向 OpenCL™ 的英特尔® SDK时,在内核编译过程中可能会看到 “Error: Assert failure at ACLMemUtils.cpp(510)”,如下所示:

    > AOC kernel.cl -RTL

    aoc: Running OpenCL parser....

    aoc:OpenCL 解析器成功完成。

    aoc: 链接对象文件....

    AOC:优化和对代码进行静态分析...

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

    当片上存储器大小为 (2**n) 1,对于 n >= 5 时,会发生错误。

    以下是一些内核代码示例以供说明:

    #define n 5

    #define 尺寸 (2**n) 1

    __kernel void kernel(__global char * limit input) {

    int mem[size];

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

    mem[i]=mem[i 1];

    mem[size-1] = 输入 i;

    }

    解决方法

    要变通解决此问题,

    使用大小不是 (2**n) 1

    在循环上使用 #pragma 展开

    从 Prime 软件版本 18.1 开始英特尔® Quartus®此问题已修复

    相关产品

    本文适用于 1 产品

    英特尔® 可编程设备

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。