Talk Proposal Submission
If you are interested in attending this talk at PyCon JP 2017, please use the social media share buttons below. We will consider the popularity of the proposals when making our selection.
talk
Polyphony: Python ではじめる FPGA と CNN への応用(ja)
Speakers
Ryos Suzuki
Audience level:
Intermediate
Category:
Concurrency
Description
Polyphony は Python で書かれたソースコードをそのまま Verilog HDL にコンパイルすることの出来る高位合成コンパイラです。Polyphony を使えば FPGA による並列処理をより身近に使うことが出来ます。難しいハードウェア用言語を覚える必要がありません。応用事例として RISC-V の実装、CNNへの応用 にも言及します。
Objectives
FPGA に興味はあるし使ってみたことはないけど、Python なら書けるというソフトウェア技術者が、Polyphony を使うことでハードウェアの世界に足を踏み入れ、並列処理が書けるかもしれないし、やってみようと思うきっかけになれば最高です。
Abstract
Polyphony は Python で書かれたソースコードをそのまま Verilog HDL にコンパイルすることの出来る高位合成コンパイラです。Polyphony を使えば FPGA による並列処理をより身近に使うことが出来ます。難しいハードウェア用言語を覚える必要がありません。
もちろん、すべての Python で書かれたプログラムを FPGA 化できるわけではありません。例えば、ストリングを扱うことは FPGA にとって得意分野でもありませんし、現在の Polyphony には難しいことです。
それでも、ちょっとしたコツをつかめば Python で書かれたプログラムを Polyphony によって FPGA 上で動作させるようにすることはそう難しいことではありません。
また、いくつかの Polyphony 特有の機能やライブラリを使えば FPGA が得意とする並列処理をうまく表現して使うことが可能です。
実際の応用事例として RISC-V の実装、CNNへの応用 にも言及します。