ID de l'article: 000097576 Type de contenu: Compatibilité Dernière révision: 16/05/2024

Pourquoi le résultat matériel du FPGA oneAPI est-il incompatible avec le résultat de l’émulation pour la division en virgule flottante ?

Environnement

    Intel® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descriptif

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

Résolution

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.

Produits associés

Cet article concerne 1 produits

Intel® Stratix®

1

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.