返回
Buffer Placement and Sizing for High-Performance Dataflow Circuits
DOI:10.1145/3477053.png)
摘要
En 中文
Commercial high-level synthesis tools typically produce statically scheduled circuits. Yet, effective C-tocircuit conversion of arbitrary software applications calls for dataflow circuits, as they can handle efficiently variable latencies (e.g., caches), unpredictable memory dependencies, and irregular control flow. Dataflow circuits exhibit an unconventional property: registers (usually referred to as buffers) can be placed anywhere in the circuit without changing its semantics, in strong contrast to what happens in traditional datapaths. Yet, although functionally irrelevant, this placement has a significant impact on the circuit's timing and throughput. In this work, we show how to strategically place buffers into a dataflow circuit to optimize its performance. Our approach extracts a set of choice-free critical loops from arbitrary dataflow circuits and relies on the theory of marked graphs to optimize the buffer placement and sizing. Our performance optimization model supports important high-level synthesis features such as pipelined computational units, units with variable latency and throughput, and if-conversion. We demonstrate the performance benefits of our approach on a set of dataflow circuits obtained from imperative code.
Keyword:
Dataflow circuits
high-level synthesis
performance optimization
Petri nets
期刊
IF:
2.8
论文数:
598
被引数:
810
机构
引用论文
Exploring embodiment and dueling bandit learning for preference adaptation in human-robot interaction探索具身化和决斗式带式学习在人际交互偏好适应中的应用
Persuasion Strategies for Social Robot to Keep Humans Accepting Daily Different Recommendations社会机器人保持人类接受日常不同推荐的说服策略

