Diary/2018-12-20
読んだ: FROST
HalideやTIRAMISUのFPGA向け共通バックエンドFROSTの論文をあらためて.
A Unified Backend for Targeting FPGAs from DSLs
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
- A DSL Compiler for Accelerating Image Processing Pipelines on FPGAs
- High-level synthesis of dataflow programs for heterogeneous platforms: design flow tools and design space exploration
は今度読んでおこう.