インテルのみ表示可能 — GUID: ewa1402937204001
Ixiasoft
2.3.1. aocl_mmd_get_offline_info
2.3.2. aocl_mmd_get_info
2.3.3. aocl_mmd_open
2.3.4. aocl_mmd_close
2.3.5. aocl_mmd_read
2.3.6. aocl_mmd_write
2.3.7. aocl_mmd_copy
2.3.8. aocl_mmd_set_interrupt_handler
2.3.9. aocl_mmd_set_status_handler
2.3.10. aocl_mmd_yield
2.3.11. aocl_mmd_shared_mem_alloc
2.3.12. aocl_mmd_shared_mem_free
2.3.13. aocl_mmd_reprogram
インテルのみ表示可能 — GUID: ewa1402937204001
Ixiasoft
2.3.13.1. 再プログラミングのサポート
clCreateProgramWithBinaryフロー ( すなわち、オンザフライで再プログラミング ) で FPGA をプログラミングする インテル® FPGA SDK for OpenCL™ ユーザーの場合、aocl_mmd_reprogramサブルーチンはホスト・アプリケーション内から FPGA を構成するために使用されます。 ホストは、FPGA がアイドル状態のときにのみ、このコールが実行されることを保証します。つまり、カーネルが実行されておらず、転送も未処理であることを意味します。MMD レイヤーは、aocl_mmd_reprogramのuser_data引数のデータを使用してデバイスを再構成する必要があります。
user_data引数のデータは、 Quartus® Primeのコンパイル時に作成された同じfpga.binデータです。 インテル® FPGA SDK for OpenCL™オフライン・コンパイラーは、コンパイル時にfpga.binの正確な内容を.aocxファイルにパッケージ化します。fpga.binの内容は、オフライン・コンパイラーとは関係がありません。シンプルにファイル内容をホスト経由で渡し、user_data引数を介してaocl_mmd_reprogramコールに渡します。
clCreateProgramWithBinary関数について詳しくは、OpenCL Specification version 1.0 (https://www.khronos.org/) および インテル® FPGA SDK for OpenCL™ Programming GuideのProgramming an FPGA via the Hostの項 ( 英語版 ) を参照してください。