ID บทความ: 000077386 ประเภทข้อมูล: ข้อความแสดงข้อผิดพลาด การตรวจสอบครั้งล่าสุด: 28/08/2018

ข้อผิดพลาด: ความล้มเหลวของ Assert ที่ ACLMemUtils.cpp(510)

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • เอฟพีจีเอ Intel® SDK สำหรับ OpenCL™
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    เมื่อใช้ Intel® SDK สําหรับ OpenCL™ "ข้อผิดพลาด: ความล้มเหลว Assert ที่ ACLMemUtils.cpp(510)" อาจแสดงขึ้นระหว่างการคอมไพล์เคอร์เนลตามที่แสดงด้านล่าง:

    > aoc kernel.cl -rtl

    aoc: เรียกใช้ตัวแยกวิเคราะห์ OpenCL...

    aoc: ตัวแยกวิเคราะห์ OpenCL เสร็จสมบูรณ์แล้ว

    aoc: การเชื่อมโยงไฟล์วัตถุ....

    aoc: การปรับประสิทธิภาพและทําการวิเคราะห์แบบคงที่ของรหัส...

    ข้อผิดพลาด: ความล้มเหลวของ Assert ที่ ACLMemUtils.cpp(510) *******

    ข้อผิดพลาดนี้เกิดขึ้นเมื่อขนาดหน่วยความจําบนชิปเป็น (2**n) 1 สําหรับ> n= 5

    นี่คือตัวอย่างโค้ด kernel สําหรับภาพประกอบ:

    #define n 5

    ขนาด #define (2**n) 1

    __kernel kernel เป็นโมฆะ (__global char * จํากัดอินพุต) {

    mem ขนาด[size];

    สําหรับ (int i=0; i<size-1; i)

    mem[i]=mem[i 1];

    mem[size-1] = input i;

    }

    ความละเอียด

    เพื่อหลีกเลี่ยงปัญหานี้

    ใช้ขนาดที่ไม่ใช่ (2**n) 1

    หรือ

    ใช้การยกเลิกการลงทะเบียน #pragma ในลูป

    ปัญหานี้ได้รับการแก้ไขเริ่มต้นด้วยซอฟต์แวร์ Intel® Quartus® Prime เวอร์ชัน 18.1

    ผลิตภัณฑ์ที่เกี่ยวข้อง

    บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

    อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

    เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้