土曜日 2:40 p.m.–3:10 p.m.
Room 201 #pyconjp_201Polyphony: Python ではじめる FPGA と CNN への応用
Ryos Suzuki
- 対象レベル:
- 中級
- カテゴリ:
- Concurrency
- スライド:
- https://www.slideshare.net/ryos36/polyphony-python-fpga/1
- ビデオ:
- https://youtu.be/9vwIn0GMWKI
説明
Polyphony は Python で書かれたソースコードをそのまま Verilog HDL にコンパイルすることの出来る高位合成コンパイラです。Polyphony を使えば FPGA による並列処理をより身近に使うことが出来ます。難しいハードウェア用言語を覚える必要がありません。応用事例として RISC-V の実装、CNNへの応用 にも言及します。
概要
Polyphony は Python で書かれたソースコードをそのまま Verilog HDL にコンパイルすることの出来る高位合成コンパイラです。Polyphony を使えば FPGA による並列処理をより身近に使うことが出来ます。難しいハードウェア用言語を覚える必要がありません。
もちろん、すべての Python で書かれたプログラムを FPGA 化できるわけではありません。例えば、ストリングを扱うことは FPGA にとって得意分野でもありませんし、現在の Polyphony には難しいことです。
それでも、ちょっとしたコツをつかめば Python で書かれたプログラムを Polyphony によって FPGA 上で動作させるようにすることはそう難しいことではありません。
また、いくつかの Polyphony 特有の機能やライブラリを使えば FPGA が得意とする並列処理をうまく表現して使うことが可能です。
実際の応用事例として RISC-V の実装、CNNへの応用 にも言及します。