(WIP) A Flexible-Granularity Task Graph Representation and its Generation from C(…)
summary
Proposes an extended task graph built as an AST overlay and generated by a source‑to‑source compiler that normalizes C into a two‑type function form (normalized C), with operations that inline/outline tasks to split or merge granularity. Evaluation on Rosetta and MachSuite yields about 20 tasks per graph, average data lifetime ≈2 tasks, and a typical critical‑path/size ratio ~2, plus a high share of producer→consumer edges; tool is fully automated and outputs separated host and accelerator C, with a planned single‑pass Hw/Sw partitioner to pick FPGA regions.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 3:13Task graph concept and benefits
- 5:23C code requirements
- 7:11Task granularity and communication
- 8:56Benchmark analysis
- 10:25Producer-consumer for FPGAs
- 10:47Graal implementation
- 12:26Future partitioning goals
- 13:31Q&A
related talks
21mGraphitron: A Domain Specific Language for FPGA-Based Graph Processing Accelerator(…)
16mAutomatically Deriving Control-Flow Graph Generators from Operational Semantics
20mLet's Build a Computation-Graph JIT Compiler in C++
10mA quick view into a compiler
40mCompact C Type Format in the GNU Toolchain
14mOn-Stack Replacement for Program Generators and Source-to-Source Compilers
51mCompile-time tools supporting generic programming in C++
31mThe AST Galaxy to the Virtual Machine Blues
