!読んだ: 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] は今度読んでおこう.