系统与数据库2019arxiv.org
Ara:1 GHz+ 可扩展且能效高的 RISC-V 向量处理器
Ara: A 1 GHz+ Scalable and Energy-Efficient RISC-V Vector Processor
专业 · 约 75 分钟读完前置知识:计算机体系结构、RISC-V 向量扩展、数字芯片设计
导读
Ara 是一款面向 RISC-V 的可扩展、高能效向量处理器,论文报告其可在 1 GHz 以上运行。根据评论引用的数据,它在典型条件下达到 1.2 GHz、最高 34 DP-GFLOPS,能效最高 67 DP-GFLOPS/W,比文献中类似向量处理器高 56%。
HN 关注点:集中在它能否与 8 位 AI 加速器在 TOPS/W 上竞争,以及 RISC-V 向量/位运算规范是否成熟到支撑图形和通用计算。
HN 评论精选
这几条评论里:质疑 1 补充 3
补充关注 Ara 在 8 位 AI 运算上的表现,并用商用 AI 加速器的 TOPS/W 作对比,期待开放架构芯片赶上。
Ara 在典型 corner(TT/0.80 V/25°C)下运行 1.2 GHz,性能最高 34 DP-GFLOPS;能效最高 67 DP-GFLOPS/W,比文献中类似向量处理器高 56%。我想知道它是否支持向量化 8 位乘法,如果支持,性能和能效如何。最近我在看 AI 加速器,据我所知它们只做 8 位运算,以 TOPS 标称。Google Coral USB Accelerator(Edge TPU)声称 4 TOPS、2 TOPS/W;Gyrfalcon Plai Plug(SPR2801S)声称 5.6 TOPS、9.3 TOPS/W。若有开放架构芯片达到或超过这些会很令人兴奋。最近发布的 RISC-V AI 加速器 Kendryte K210 只声称 0.25 TOPS 或 0.8 TOPS/W。
scottlamb查看英文原文
> Ara runs at 1.2 GHz in the typical corner (TT/0.80 V/25 oC), achieving a performance up to 34 DP-GFLOPS. In terms of energy efficiency, Ara achieves up to 67 DP-GFLOPS/W under the same conditions, which is 56% higher than similar vector processors found in literature. I wonder if it supports vectorized 8-bit multiplies and, if so, what its performance and efficiency is on those. I've been looking around at AI accelerators a bit recently. They AFAIK only do 8-bit operations and are rated in TOPS (tera-operations-per-second). Google's Coral USB Accelerator (with an Edge TPU chip) claims 4 TOPS, at 2 TOPS/W. The Gyrfalcon Plai Plug (with a SPR2801S chip) claims 5.6 TOPS, at 9.3 TOPS/W. It'd be really exciting to have an open architecture chip match or exceed that. The Kendryte K210 is a RISC-V AI accelerator chip announced recently, but it only claims 0.25 TOPS, or 0.8 TOPS/W.
质疑认为 RISC-V 应先提供 popcount/CLZ 等基础位运算,反对过度复杂的位混洗扩展干扰核心 ISA。
在对 RISC-V 持乐观态度之前,我真的需要看到一组基础位运算指令——至少要有 popcount 和 count-leading-zeros(即整数以 2 为底的对数)。我上次查看被搁置的位运算扩展时,它们已经被各种复杂的位混洗机制膨胀得毫无道理。我理解那些东西对某些人非常有用,但如果它们妨碍在核心 ISA 中获得快速 popcount,我们就无法承受它们。
ncmncm查看英文原文
Before I can be bullish on RISC-V, I really need to see a set of basic bitwise instructions -- minimally, popcount and count-leading-zeros (i.e. integer log-base-2). When I last looked at the (tabled) bitwise extensions, they had been bloated out of all reason with really wild bit-shuffling apparatus. I understand those last are very useful to some people, but if they interfere with getting a fast popcount in the core ISA, we can't afford them.
补充想了解 GPU 与向量处理器的区别,以及开源对向量处理器是否有特殊价值。
有 commentary 吗?GPU 和向量处理器有什么区别?向量处理器开源是一个可取之处吗(相比于开源本身的普遍吸引力)?
dmos62查看英文原文
Commentary? What's the difference between a GPU and a vector processor? Is vector processors being open-source a desirable quality (compared to general attractiveness of open-source)?
补充关注 RISC-V 向量规范是否定稿,认为这对图形支持至关重要。
向量规范已经定稿了吗?我认为这对把图形带到 RISC-V 上很关键。
phkahler查看英文原文
Has the vector spec been finalized yet? I think it will be critical to bring graphics to RISCV.
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2019Hacker News 讨论帖187 分 · 56 评
同领域还值得读
I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象
I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions
指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。
系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选使用 io_uring 的高效 I/O
Efficient IO with io_uring
由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。
系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选线程对大多数用途而言是个坏主意(1995)
Threads Are a Bad Idea for Most Purposes (1995)
这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。
系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选学习型索引结构之论证
The Case for Learned Index Structures
提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…
系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选FoundationDB:一个分布式、解耦的事务型键值存储
FoundationDB: A distributed, unbundled, transactional key value store
介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。
系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选