記事 ID: 000073931 コンテンツタイプ: トラブルシューティング 最終改訂日: 2019/10/25

OpenCL™™ カーネルがバージョン 18.1.2 以前では正常にコンパイルされ、バージョン 19.1 以降では失敗するのはなぜですか?

環境

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

    OpenCL™ カーネルがバージョン 18.1.2 以前では正常にコンパイルされても、バージョン 19.1 以降では失敗する場合は、次のようなメッセージを探してください。

    #aoc:メモリ使用量が100%を超えているかどうかを確認しています...

    #aoc: 警告 RAM 使用率は 173% です。

    メッセージが表示された場合、M20K 使用率が 100% を超えているため、コンパイルは失敗します。

    以前のバージョンの インテル® FPGA SDK for OpenCL™™ では、M20K の使用率が 100% を超えると見積もった場合、コンパイラーはすべてのメモリーシステムのローカル・メモリー・レプリケーションを自動的に無効化していました。バージョン 19.1 以降、コンパイラーは自動的にローカル・メモリー・レプリケーションを無効にしなくなりました。

    解決方法

    次の例に示すように、メモリー属性を使用してオンチップ・メモリーのレプリケーションを制御します。

    int __attribute__((memory, numbanks(1), singlepump, max_replicates(3))) lmem[1028];

    詳細については、インテル FPGA SDK for OpenCL™ プロ・エディション: ベスト・プラクティス・ガイドの次のセクションを参照してください。

    メモリー ・レプリケーション係数の制御によるローカルメモリーへのアクセスの最適化

    関連製品

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

    インテル® プログラマブル・デバイス

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。