FPGAに機械学習モデルを順序回路として実装し、パイプライン化しています。性能向上にはつながりませんでしたが、同期動作で扱いやすくなりました。詳細は下記内容をご覧ください。
順序回路化・パイプライン化
以前の記事で実装したランダムフォレスト回路を順序回路化・パイプライン化します。
https://developers.gmo.jp/?p=10086
結論から言うと、性能向上には繋がりませんでしたがクロックに同期して動作することで扱いやすくなりました。
入力が変化すると即座に出力を変化させる組み合わせ回路としてランダムフォレストを実装しました。しかしこの方法では木の深さが深くなったり、分岐条件が他ビットになったりすると遅延が大きくなります。こうなるとランダムフォレスト回路を制御したり結果を使用して処理をしたりする回路との連携が少々厄介になります。多くのシステムはクロックに同期して動作する順序回路ですから、ランダムフォレスト回路もこれに合わせたほうが都合がよさそうです。
ランダムフォレスト回路を順序回路として実装
今回はランダムフォレスト回路を順序回路として実装します。さらにスループットを向上させるためにパイプライン化を試みます。