私はOpenCLを初めて使用し、FPGA上でOpenCLを使用してブロック暗号の暗号化に取り組んでいます。私はいくつかの論文を読んで、Openclには2種類のカーネルがあることを知っています(単一のワークアイテムとNDRange)。 NDRangeカーネルの機能はコンパイラによって自動的にパイプライン化されるのではなく、単一のワークアイテムカーネルの機能が自動的にパイプライン化されます。FPGA上のOpenCL単一作業項目VS NDRangeカーネル
FPGAにNDRangeカーネル ではなく単一のワークアイテムカーネルを実装することをお勧めしますか?どうして?
すべてのデータを読み込むまでカーネルをループさせたいのであれば、カーネルは一度にホストから何らかのデータを取り出して、FPGA上で実行して書き戻します。パイプラインはどのように達成できますか?
FPGAベンダーからのガイダンスを確認することをお勧めします。彼らはコンパイラをよく知っています。私は彼らのウェブサイトでも良いビデオを見たことがあります。あなたはこの質問に対する答えを知るだけでなく、その過程でさらに多くのことを学ぶでしょう。 – Dithermaster