oneAPI 설계에 부동 소수점 나누기 연산이 있는 경우 두 컴파일 모드에서 부동 소수점 연산의 반올림 모드가 다르기 때문에 oneAPI FPGA 하드웨어와 에뮬레이터 간에 일관되지 않은 결과가 발생할 수 있습니다.
샘플 코드와 결과는 다음과 같습니다.
코드: float res = 1.0f/1272;
출력 결과: 에뮬레이터 결과는 0.000786163이지만 하드웨어 결과는 0.000786164입니다.
이 문제를 해결하려면 컴파일 명령에서 "-fp-model=precise -no-fma" 및 "-Xsrounding=ieee" 옵션을 사용해야 합니다.
예제 명령:
icpx -fsycl -fintelfpga - Xshardware -Xsrounding=ieee -fp-model= precise -no-fma <source_file>.cpp
이 정보는 oneAPI 툴킷용 FPGA 최적화 가이드 사용자 가이드의 향후 릴리스에 추가될 예정입니다.