S’il existe une opération de division en virgule flottante dans votre conception oneAPI, vous pouvez trouver des résultats incohérents entre le matériel oneAPI FPGA et l’émulateur en raison des deux modes de compilation ayant des modes d’arrondi différents des opérations en virgule flottante.
Voici un exemple de code et de résultat :
Code : float res = 1.0f/1272 ;
Résultat de sortie : le résultat de l’émulateur est 0.000786163, mais le résultat matériel est 0.000786164
Pour contourner ce problème, vous devez utiliser l’option « -fp-model=precise -no-fma » et « -Xsrounding=ieee » dans votre commande de compilation.
Exemple de commande :
icpx -fsycl -fintelfpga - Xshardware -Xsrounding=ieee -fp-model= precise -no-fma <source_file>.cpp
Ces informations devraient être ajoutées dans une prochaine version du guide de l’utilisateur du Guide d’optimisation FPGA pour les kits d’outils oneAPI.