- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!読んだ: FROST
HalideやTIRAMISUのFPGA向け共通バックエンドFROSTの論文をあらためて.
[A Unified Backend for Targeting FPGAs from DSLs|https://people.csail.mit.edu/baghdadi/public/papers/FROST_paper.pdf]
HalideからIR借用していると書いてあるくらいで,
あまり具体的な実装はかかれてないようで,ちょっと残念.
スケジュールコマンドとしては,
* Computation scheduling commands
** f.pipeline(i)
** f.unroll(i)
** f.flatten(i)
** f.vectorize(b, n)
* Local Memory scheduling commands
** f.partition(b, d, t)
* Architecture scheduling commands
** m.tiled()
* m.streaming()
を備えているとのこと.
このあたりが,"FROST is a high-level scheduling co-language"たるあたりかな.
バックエンドはVivadoHLSに投げるとのことだけど,SDAccelを想定.
組み込みは考えてないのかなあ.
参考文献でひいてあった
* RIPL [A dataflow IR for memory efficient RIPL compilation to FPGAs|http://shura.shu.ac.uk/14205/1/Bhowmik%20-%20Dataflow%20IR%20for%20memory%20efficient%20RIPL%20%28AM%29.pdf]
* [A DSL Compiler for Accelerating Image Processing Pipelines on FPGAs|https://dl.acm.org/citation.cfm?id=2967969]
* [High-level synthesis of dataflow programs for heterogeneous platforms: design flow tools and design space exploration|https://pdfs.semanticscholar.org/bc20/b572a5964c4735696259a711ab1479dfd3bc.pdf]
は今度読んでおこう.