プロポーザル
これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていただきます。
talk
Polyphony: Python ではじめる FPGA と CNN への応用(ja)
スピーカー
Ryos Suzuki
対象レベル:
中級
カテゴリ:
Concurrency
説明
Polyphony は Python で書かれたソースコードをそのまま Verilog HDL にコンパイルすることの出来る高位合成コンパイラです。Polyphony を使えば FPGA による並列処理をより身近に使うことが出来ます。難しいハードウェア用言語を覚える必要がありません。応用事例として RISC-V の実装、CNNへの応用 にも言及します。
目的
FPGA に興味はあるし使ってみたことはないけど、Python なら書けるというソフトウェア技術者が、Polyphony を使うことでハードウェアの世界に足を踏み入れ、並列処理が書けるかもしれないし、やってみようと思うきっかけになれば最高です。
概要
Polyphony は Python で書かれたソースコードをそのまま Verilog HDL にコンパイルすることの出来る高位合成コンパイラです。Polyphony を使えば FPGA による並列処理をより身近に使うことが出来ます。難しいハードウェア用言語を覚える必要がありません。
もちろん、すべての Python で書かれたプログラムを FPGA 化できるわけではありません。例えば、ストリングを扱うことは FPGA にとって得意分野でもありませんし、現在の Polyphony には難しいことです。
それでも、ちょっとしたコツをつかめば Python で書かれたプログラムを Polyphony によって FPGA 上で動作させるようにすることはそう難しいことではありません。
また、いくつかの Polyphony 特有の機能やライブラリを使えば FPGA が得意とする並列処理をうまく表現して使うことが可能です。
実際の応用事例として RISC-V の実装、CNNへの応用 にも言及します。