ID บทความ: 000097576 ประเภทข้อมูล: ความสามารถในการทำงานร่วมกัน การตรวจสอบครั้งล่าสุด: 16/05/2024

ทําไมผลลัพธ์ของฮาร์ดแวร์ oneAPI FPGA ไม่สอดคล้องกับผลลัพธ์การจําลองสําหรับแผนกจุดลอยตัว

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    หากมีการดําเนินการแบ่งจุดลอยในการออกแบบ oneAPI ของคุณ คุณอาจพบผลลัพธ์ที่ไม่สอดคล้องกันระหว่างฮาร์ดแวร์ oneAPI FPGA และตัวจําลองเนื่องจากโหมดการคอมไพล์สองโหมดมีโหมดการปัดเศษที่แตกต่างกันของการดําเนินการจุดลอยตัว

    รหัสตัวอย่างและผลลัพธ์แสดงไว้ด้านล่าง:

    รหัส: เลขลอยตัว = 1.0f/1272;

    ผลลัพธ์เอาต์พุต: ผลการจําลองคือ 0.000786163 แต่ผลลัพธ์ฮาร์ดแวร์คือ 0.000786164

    ความละเอียด

    เพื่อหลีกเลี่ยงปัญหานี้ คุณควรใช้ตัวเลือก "-fp-model=precise -no-fma" และ "-Xsrounding=ieee" ในคําสั่งคอมไพล์ของคุณ

    คําสั่งตัวอย่าง:

    icpx -fsycl -fintelfpga -Xshardware -Xsrounding=ieee -fp-model= ความแม่นยํา -no-fma <source_file>.cpp

    ข้อมูลนี้ถูกกําหนดให้เพิ่มในคู่มือผู้ใช้ FPGA Optimization สําหรับชุดเครื่องมือ oneAPI ในอนาคต

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

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

    Intel® Stratix®

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