記事 ID: 000097576 コンテンツタイプ: 互換性 最終改訂日: 2024/05/16

oneAPI FPGA ハードウェアの結果が浮動小数点除算のエミュレーション結果と一致しないのはなぜですか?

環境

    インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

oneAPI デザインに浮動小数点除算演算がある場合、2 つのコンパイルモードの浮動小数点演算の丸めモードが異なるために、oneAPI FPGAハードウェアとエミュレーターの間で一貫性のない結果が生じることがあります。

サンプルコードと結果を以下に示します。

コード: 浮動小数点解像度 = 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最適化ガイド ユーザーガイドの今後のリリースで追加される予定です。

関連製品

本記事の適用対象: 1 製品

インテル® Stratix®

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。このコンテンツはお客様の便宜と一般的な情報のみを目的として提供されており、情報の正確さと完全性を保証するものではありません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。