インテル® FPGA SDK for OpenCL™プロ・エディション: プログラミング・ガイド

ID 683846
日付 4/01/2019
Public
ドキュメント目次

7.15. グローバルメモリーのバーストインターリーブの無効化 (-no-interleaving=<global_memory_type>)

インテル FPGA SDK for OpenCL オフライン・コンパイラーでは、異なるメモリータイプにわたりグローバルメモリーをバーストインターリーブすることはできません。 -no-interleaving=<global_memory_type> オプションをaocコマンドに含め、同じタイプのグローバル・メモリー・バンクすべてのバーストインターリーブを無効にし、それらを手動で管理することができます。 メモリーバッファーの手動分割は、グローバルメモリーにデフォルトで設定されているバーストインターリーブ方式でのコンフィグレーションを上書きします。

注意:
-no-interleaving オプションは、グローバル・メモリー・タイプのパラメーターを必要とします。メモリータイプが指定されていない場合、オフライン・コンパイラーはエラーメッセージを発行します。
  • デフォルトのグローバルメモリーのバーストインターリーブを無効にするようオフライン・コンパイラーに指示するには、 aoc <your_kernel_filename>.cl -no-interleaving=default コマンドを呼び出します。
    アクセラレーター・ボードには、複数のグローバル・メモリー・タイプが含まれる場合があります。デフォルトのグローバル・メモリー・タイプを特定するには、ご利用のカスタム・プラットフォームのボードメーカーより提供されている資料を確認ください。
  • 異種メモリーのシステムにおいて、特定のグローバル・メモリー・タイプのバーストインターリーブを無効にするようオフライン・コンパイラーに指示するには、次の作業を実行します。
    1. カスタム・プラットフォームのBoard_spec.xmlファイルで、利用可能なグローバル・メモリー・タイプ名を確認します (DDR、クアッド・データ・レート (QDR) など)。
    2. 例えば、DDRのメモリータイプのバーストインターリーブを無効にするには、 aoc <your_kernel_filename>.cl -no-interleaving=DDRコマンドを呼び出します。
      オフライン・コンパイラーは、DDRメモリーバンクの手動分割を有効にし、他のメモリーバンクをバーストインターリーブ方式でコンフィグレーションします。
    3. 複数のタイプのグローバル・メモリー・バッファーのバーストインターリーブを無効にするには、 -no-interleaving=<global_memory_type> オプションを各グローバル・メモリー・タイプに含めます。
      例えば、DDRとQDRのバーストインターリーブをどちらとも無効にするには、 aoc <your_kernel_filename>.cl -no-interleaving=DDR -no-interleaving=QDRコマンドを呼び出します。
注意:
バッファーを複数のメモリー・テクノロジーに関連付けるカーネル引数として渡さないでください。