หากมีการดําเนินการแบ่งจุดลอยในการออกแบบ 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 ในอนาคต