Unified Buffer: Compiling Image Processing and Machine Learning Applications to Push-Memory Accelerators

计算机科学 编译程序 内存层次结构 并行计算 静态随机存取存储器 嵌入式系统 计算机体系结构 计算机硬件 程序设计语言 隐藏物
作者
Qiaoyi Liu,Jeff Setter,Dillon Huff,Maxwell Strange,Kathleen Feng,Mark Horowitz,Priyanka Raina,Fredrik Kjølstad
出处
期刊:ACM Transactions on Architecture and Code Optimization [Association for Computing Machinery]
卷期号:20 (2): 1-26 被引量:17
标识
DOI:10.1145/3572908
摘要

Image processing and machine learning applications benefit tremendously from hardware acceleration. Existing compilers target either FPGAs, which sacrifice power and performance for programmability, or ASICs, which become obsolete as applications change. Programmable domain-specific accelerators, such as coarse-grained reconfigurable arrays (CGRAs), have emerged as a promising middle-ground, but they have traditionally been difficult compiler targets since they use a different memory abstraction. In contrast to CPUs and GPUs, the memory hierarchies of domain-specific accelerators use push memories : memories that send input data streams to computation kernels or to higher or lower levels in the memory hierarchy and store the resulting output data streams. To address the compilation challenge caused by push memories, we propose that the representation of these memories in the compiler be altered to directly represent them by combining storage with address generation and control logic in a single structure—a unified buffer. The unified buffer abstraction enables the compiler to separate generic push memory optimizations from the mapping to specific memory implementations in the backend. This separation allows our compiler to map high-level Halide applications to different CGRA memory designs, including some with a ready-valid interface. The separation also opens the opportunity for optimizing push memory elements on reconfigurable arrays. Our optimized memory implementation, the Physical Unified Buffer, uses a wide-fetch, single-port SRAM macro with built-in address generation logic to implement a buffer with two read and two write ports. It is 18% smaller and consumes 31% less energy than a physical buffer implementation using a dual-port memory that only supports two ports. Finally, our system evaluation shows that enabling a compiler to support CGRAs leads to performance and energy benefits. Over a wide range of image processing and machine learning applications, our CGRA achieves 4.7× better runtime and 3.5× better energy-efficiency compared to an FPGA.

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
刚刚
lilycat完成签到,获得积分10
刚刚
刚刚
1秒前
1秒前
哈基米发布了新的文献求助10
1秒前
宇文宛菡发布了新的文献求助10
2秒前
4秒前
阳光发布了新的文献求助10
4秒前
4秒前
4秒前
在水一方应助Pluto采纳,获得10
4秒前
大气元彤发布了新的文献求助10
5秒前
小昼发布了新的文献求助10
7秒前
传奇3应助安平采纳,获得10
9秒前
量子星尘发布了新的文献求助10
9秒前
大栗子完成签到,获得积分20
10秒前
11秒前
11秒前
没有熬夜发布了新的文献求助10
11秒前
Lucas应助和谐煎饼采纳,获得30
12秒前
娇气的笑蓝完成签到,获得积分10
13秒前
大栗子发布了新的文献求助10
14秒前
科研通AI2S应助你曾是少年采纳,获得10
16秒前
wanci应助小衫生采纳,获得30
16秒前
TangML完成签到,获得积分10
17秒前
18秒前
18秒前
无语的蛋堡完成签到,获得积分10
19秒前
不爱吃辣堡完成签到,获得积分10
19秒前
Xiaomango完成签到,获得积分10
19秒前
一一完成签到 ,获得积分10
21秒前
小蘑菇应助阿甘采纳,获得10
21秒前
22秒前
肚子幽伤发布了新的文献求助10
22秒前
无极微光应助平常金针菇采纳,获得20
23秒前
田様应助标致雪碧采纳,获得10
23秒前
qianghw完成签到,获得积分10
25秒前
英俊的铭应助斯文的馒头采纳,获得10
25秒前
汉堡包应助科研通管家采纳,获得10
26秒前
高分求助中
Theoretical Modelling of Unbonded Flexible Pipe Cross-Sections 10000
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
Basic And Clinical Science Course 2025-2026 3000
《药学类医疗服务价格项目立项指南(征求意见稿)》 880
花の香りの秘密―遺伝子情報から機能性まで 800
Stop Talking About Wellbeing: A Pragmatic Approach to Teacher Workload 500
Principles of Plasma Discharges and Materials Processing, 3rd Edition 400
热门求助领域 (近24小时)
化学 材料科学 生物 医学 工程类 计算机科学 有机化学 物理 生物化学 纳米技术 复合材料 内科学 化学工程 人工智能 催化作用 遗传学 数学 基因 量子力学 物理化学
热门帖子
关注 科研通微信公众号,转发送积分 5615265
求助须知:如何正确求助?哪些是违规求助? 4700164
关于积分的说明 14906941
捐赠科研通 4741703
什么是DOI,文献DOI怎么找? 2548025
邀请新用户注册赠送积分活动 1511771
关于科研通互助平台的介绍 1473781