想象你走进一家新开的连锁中央厨房,名字叫Grayskull。街对面是老牌餐厅英伟达,他们靠一两位米其林大厨(超大规模GPU核心)包办一切,出菜快但耗电惊人。Grayskull不走这条路:它请了120个普通厨师班组,每个班组配有小伙计、掌勺大厨和自己的备菜区,大家一起开工,通力合作。这就是Tenstorrent公司推出的首款商用AI加速芯片——Grayskull。它不是什么“另一种GPU”,而是一个数据流驱动的“烹饪网络”:数据像食材一样在班组间流转,计算跟随数据走。而安排这一切的,是一套叫BUDA的“总谱系统”,它把客人的点单(深度学习模型)自动拆成每个班组的操作卡。本篇文章就用这座厨房的故事,带你看懂Grayskull的架构、编程模型和性能真相。

岗位关联

学习价值:看懂非英伟达AI芯片的差异化思路,能在异构计算选型、算子移植评估、AI硬件趋势讨论中建立判断力,帮助你理解“算力不是只有GPU一条路”。

目录
  1. 可视化演示
  2. 芯片定位:新式中央厨房开张
  3. Tensix核心:一个厨师班组的配置
  4. 内存机制:食材搬运与备菜轮换
  5. 网格互联:多间厨房连成网络
  6. BUDA编程:总谱自动分发任务
  7. 性能生态:实测出菜速度与口碑
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示Tenstorrent Grayskull的Tensix核心阵列、NoC数据流通信与Tile矩阵计算,交互切换查看AI加速芯片架构核心机制。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Tensix核心网格:NoC数据流架构 120个Tensix核心以网格阵列排布 NoC数据流在核心间传递张量分块 Tensix = RISC-V + Matrix Unit 数据流驱动避免总线拥塞

芯片定位:新式中央厨房开张

市面上的AI老牌餐厅靠一两位米其林大厨包办一切——成千上万个CUDA核心排成阵列,由统一调度员指挥。而Grayskull这家新开张的中央厨房选择了另一条路:请120个普通厨师班组,每个班组独立备菜、独立掌勺,彼此通过传送带协作。这就是Grayskull和传统GPU最大的气质差异——它不追求单点极致,而是靠大量协作型“班组”取胜。

这场“厨房革命”在技术上对应的是:Grayskull是Tenstorrent公司2021年推出的首款商用AI加速芯片,内部集成了120个Tensix核心。它不是GPU,而是数据流架构——数据像食材一样主动流向各班组,谁有空谁处理,而不是被中央调度员拽来拽去。这样的设计极大减少了无谓的搬运,也让功耗控制得特别低,因此Grayskull早期定位就是AI推理场景,尤其是对功耗敏感的服务器与边缘设备。

要估算这家厨房的总产能,可以套用这个公式:峰值算力 = 班组数 × 每个班组一次颠勺的菜量 × 颠勺频率 × 2。写成数学表达就是:

这家厨房的定位很清晰:不用米其林大厨,用一群配合默契的普通班组,把电费省下来、把出菜量提上去。这种“低功耗 + 高并行”的组合,正是Grayskull在AI推理市场站稳脚跟的第一步。

P=N×M×f×2\displaystyle P = N \times M \times f \times 2
这个公式告诉我们:芯片算力由“核心数、每核乘加能力、时钟频率”三个旋钮共同决定,而最后乘的2,是因为一次乘加运算实际上包含了“乘”和“加”两个操作。
  1. N(核心数)Grayskull 拥有 120 个 Tensix 核心,每个核心都是一个独立班组。
    N=120N = 120
  2. M(每核乘加数)每个 Tensix 的矩阵引擎在一个时钟周期内可以完成成千上万次乘加,这里的 M 代表这个吞吐量。
    M=CMACM = C_{\text{MAC}}
  3. f(工作频率)核心实际运行的时钟频率,单位是 GHz,类似“颠勺的速度”。
    f=1.2 GHzf = 1.2\ \text{GHz}
  4. ×2(乘加拆分)一次“乘加”是乘法加加法两笔账,算力统计时要各算一次。
    POPS=N×M×f×2P_{\text{OPS}} = N \times M \times f \times 2

Tensix核心:一个厨师班组的配置

走进任何一个Tensix班组,你会看到三种角色:几个手脚麻利的小伙计、一位掌勺大厨、一个贴身的调料架。小伙计们是RISC-V处理器,他们不炒菜,只负责听口令、递食材、收拾台面;掌勺大厨是矩阵计算引擎,所有颠勺爆炒的活儿都由他一个人承担;调料架则是本地SRAM,大厨伸手就能拿到常用配料,不必满厨房跑。

让这个小班组高效运转的关键,是各角色各司其职。矩阵计算引擎是班里唯一的“技术大牛”,他擅长的是深度学习最常用的基本功——矩阵乘法。而RISC-V处理器们虽然只会干杂活,但他们灵活、听话,能完成循环、分支、数据搬运等各种控制类任务。这种“通用控制 + 专用计算”的分工模式,让每个Tensix核心既灵活又高效。

矩阵乘法的本质,就是输出矩阵中每个元素等于左边一行与右边一列逐对相乘再求和:

一个大厨颠一次勺,就算好了一个输出元素;120个班组一起颠勺,整个矩阵很快就能出锅。这个“分工明确、各展所长”的设计,正是Tensix核心的精髓。

Ci,j=∑k=1KAi,k×Bk,j\displaystyle C_{i,j} = \sum_{k=1}^{K} A_{i,k} \times B_{k,j}
想象大厨做“青椒肉丝盖饭”:C盘的成品量 = 把A筐里的青椒丝和B筐里的肉丝一根根配对下锅,总数加起来。
  1. C_{i,j}(成品位置)结果矩阵第 i 行第 j 列的元素,相当于一盘成品菜的量。
    Ci,jC_{i,j}
  2. 求和下标 k从 1 到 K 遍历,把 A 的第 i 行和 B 的第 j 列逐对取出来。
    ∑k=1K\sum_{k=1}^{K}
  3. A_{i,k} × B_{k,j}(配对相乘)A 中一个元素与 B 中对应元素相乘,再把所有乘积累加,就得到成品。
    Ai,k×Bk,jA_{i,k} \times B_{k,j}

内存机制:食材搬运与备菜轮换

传统GPU像一家只有一个巨型冷库的餐厅:所有菜都从冷库取,大厨一伸手就要跨越大半个厨房,路途远、速度慢。Grayskull则让每个班组自带调料架和备菜区——这就是分布式SRAM。每份食材(数据)被切成小块(tile),哪个班组需要,就让食材主动流过去,而不是大厨跑过去取。

“让数据走动、而不是让人走动”是这家厨房的第一法则。每个Tensix核心拥有自己的本地SRAM,计算时优先用身边的食材;只有本地没有的配料,才通过厨房里的传送带——片上网络——从邻居那里借。更妙的是双缓冲机制:每个班组有两个备菜区,一个正在被大厨使用时,小伙计们同步把下一份食材装进另一个备菜区,等上一个用完立刻轮换。这样大厨永远不空等,计算与搬运被完美重叠。

数据流架构是否高效,要算一笔“食材复用账”,也就是算术强度:

双缓冲让搬运和计算像两个齿轮一样咬合转动,而算术强度则是判断这家厨房适不适合做某道菜的先决条件。AI推理任务往往复用率高,正好对上了Grayskull的胃口。

I=FB\displaystyle I = \frac{F}{B}
这个比值衡量“每搬运一个字节,能做多少次运算”。比值越高,说明食材被充分利用,数据流架构的优势就越大。
  1. F(运算量)完成这个任务需要做的浮点操作总数,单位是 FLOPs。
    FF
  2. B(数据量)从内存搬运进来的字节总数,相当于食材的运输量。
    BB
  3. I(算术强度)两者相除。I 高,数据可以被反复用;I 低,厨房忙着搬菜没空炒菜。
    I=FBI = \frac{F}{B}

网格互联:多间厨房连成网络

一家中央厨房的产能总归有限。幸好Grayskull设计时就考虑了“开分店”:每张卡都有PCIe接口,像外卖柜台一样对接主机;更关键的是卡与卡之间有专门的直连通道,像分店之间的冷链车,让多张卡可以拼成一张大网络,一起处理超大模型。

不过分店之间怎么连是有讲究的。全互联当然最爽——每家分店都有直达管道通向其他所有分店——但管道数量会爆炸式增长。Grayskull选择的是邻居直连:每张卡只和相邻的卡建立高速通道,数据需要时再逐跳中转。这种2D网格拓扑在成本和性能之间取得了平衡,也是多芯片AI加速器的主流做法。

为什么不全互联?算一笔账就明白了。要让 N 家分店两两直连,需要的管道数量是:

扩展是有代价的,但邻居直连让代价变得可以承受。分店越开越多,只要管道不堵,整个厨房网络就能一起接更大的订单。

D=N(N−1)2\displaystyle D = \frac{N(N-1)}{2}
6 家分店全互联需要 15 条管道,10 家就要 45 条,增长太快。网格互联只用几条邻居管道,就能让所有分店间接相通。
  1. N(分店数量)参与互联的芯片总数,比如一个服务器里插了 4 张 Grayskull 卡。
    N=4N = 4
  2. N(N-1)/2(全互联成本)每两家分店之间都拉一条专线,需要的总线路数。
    D=N(N−1)2D = \frac{N(N-1)}{2}
  3. 网格替代只连相邻节点,线路数从 O(N²) 降为 O(N),虽然多走几步,但整体成本可控。
    Dmesh=2N−2D_{\text{mesh}} = 2\sqrt{N} - 2

BUDA编程:总谱自动分发任务

厨房开了120个班组,如果让每道菜都得厨师们自己商量谁做什么,那肯定乱套。Grayskull的解法是配一位“总谱指挥官”——BUDA。你只需要把客人点的菜(PyTorch/TensorFlow里的深度学习模型)交给BUDA,它就会自动把菜拆成一道道工序,安排到具体的班组、具体的灶台,甚至连哪份食材先送到哪个备菜区都规划得清清楚楚。

BUDA(Big Unified Device Architecture)是Tenstorrent的软件编译栈,核心能力是“自动映射”。它读入高层模型描述后,会先做图优化(把能合并的算子合并)、再切块(把大矩阵切成适合SRAM的小块)、然后做数据布局规划(决定每块数据放在哪个核心的SRAM里),最后生成每个Tensix核心的具体执行任务。整个过程中,开发者不需要手动编写CUDA风格的内核函数,也不需要关心120个核心各自在做什么——这种抽象让AI工程师的上手成本大大降低。

BUDA的调度器本质上在解一个最优化问题——让数据搬运总量最小:

有了总谱指挥官,120个班组看似各自为战,实则配合得像一台精密机器。这也让Grayskull的距离一下子从“硬件玩家”拉近到了“软件可用”。

min⁡∑t=1Tmove(t)\displaystyle \min \sum_{t=1}^{T} \text{move}(t)
总谱指挥官的目标就一句话:让食材少跑路,让大厨少空等。搬得越少,算得越快。
  1. move(t)(单次搬运量)第 t 个计算片段需要搬运的数据量。
    move(t)\text{move}(t)
  2. 求和(总搬运成本)把所有片段的搬运量加在一起,就是整个任务的数据流动总成本。
    S=∑t=1Tmove(t)S = \sum_{t=1}^{T} \text{move}(t)
  3. min(最小化目标)BUDA 的调度器在搜索空间中寻找让 S 最小的切块和分配方案。
    min⁡S\min S

性能生态:实测出菜速度与口碑

厨房吹得再好,客人还是要看实际出菜速度和电费账单。Grayskull在标准和效推理基准上的表现如何?答案是:能效比相当亮眼,绝对算力与老牌大厂仍有差距。在ResNet-50等经典推理任务上,Grayskull以远低于GPU的功耗跑出了可观的吞吐,非常适合“电费敏感”的大规模部署场景。

用一句话总结Grayskull的性能哲学,就是“省着花”。专注推理而非训练,用专用矩阵单元 + 数据流设计,把每一瓦电都花在刀刃上。衡量这份“省”的指标就是能效比:

但再好的硬件也要看“生态口碑”。Grayskull的软肋很明显:CUDA深耕二十年,积累了海量库和开发者;而Tenstorrent的BUDA生态还很年轻,支持的网络模型和算子仍在快速扩充。这家新厨房的菜好吃,但菜单还薄。未来能否靠开源RISC-V路线和持续迭代打动更多开发者,是决定它命运的关键。

E=POPSTDP\displaystyle E = \frac{P_{\text{OPS}}}{TDP}
能效比 = 每秒钟能干多少活 ÷ 满负荷功率。就像“每度电出几份菜”,是衡量厨房性价比的核心指标。
  1. P_OPS(峰值算力)芯片每秒能执行的操作次数,用前面公式算出。
    POPSP_{\text{OPS}}
  2. TDP(热设计功耗)芯片满负荷跑时的最大发热功率,单位瓦特,代表“电费上限”。
    TDPTDP
  3. E(能效比)两者相除,得到每瓦特每秒能做的操作数,即 TOPS/W。
    E=POPSTDPE = \frac{P_{\text{OPS}}}{TDP}

AI 应用场景

数据中心低功耗AI推理

阶段:模型部署与推理优化

解决的问题:传统GPU做大规模推理时功耗高、电费贵,尤其在图片分类、目标检测等7×24小时在线场景,GPU的算力浪费与服务成本都是痛点。Grayskull以数据流架构专攻推理,用远低于GPU的功耗提供同样量级的吞吐,特别适合互联网公司处理海量图片和文本审核。

具体案例:某内容平台需要对每天上亿张用户上传的图片做鉴黄和分类。原本用GPU集群推理,电费占运营成本三成;将模型迁移到Grayskull后,用BUDA自动映射优化,整体功耗下降约60%,推理吞吐满足峰值需求,电费账单明显变薄。

边缘端AI智算盒子

阶段:边缘部署与硬件选型

解决的问题:工厂质检、智慧零售、自动驾驶小车等边缘场景对功耗和体积极敏感,传统GPU体积大、发热高,部署环境受限。Grayskull的低功耗和片上SRAM数据流设计,让它天然适合做成“小盒子”形态的AI推理设备。

具体案例:一家智能制造工厂在流水线上部署缺陷检测系统。工控机原本插着GPU显卡,车间温度高、故障频发。改用Grayskull加速卡后,盒子功耗从300W降到120W,散热压力骤减,同时依靠BUDA的分块调度,实现了金属表面缺陷的毫秒级实时识别。

开源RISC-V AI芯片研究

阶段:硬件架构探索与定制

解决的问题:传统AI芯片的指令集和核心完全黑盒,研究者无法修改内部逻辑做架构实验。Grayskull的Tensix核心基于开源RISC-V指令集,研究者可以查看甚至定制扩展指令,自由探索调度算法和计算单元设计,是高校和芯片创企理想的实验平台。

具体案例:某高校实验室基于Grayskull研究“稀疏矩阵跳过”优化。他们修改RISC-V控制核的微码,让矩阵引擎在遇到零元素时自动跳过计算,在稀疏推荐模型上取得了1.8倍的加速比,论文发表在系统架构顶会上。

Python 演示

python72 行
import random class TensixCore:    """模拟一个Tensix核心:负责一小块矩阵乘法"""     def __init__(self, core_id):        self.core_id = core_id        self.task_count = 0     def multiply(self, tile_a, tile_b):        """执行小块矩阵乘法 A*B"""        n = len(tile_a)        out = [[0] * n for _ in range(n)]        for i in range(n):            for k in range(n):                for j in range(n):                    out[i][j] += tile_a[i][k] * tile_b[k][j]        self.task_count += 1        return out  def cut_blocks(mat, block):    """把矩阵切成 block x block 的小块,返回行块数和切块函数"""    rows = len(mat) // block     def get(r, c):        return [row[c * block:(c + 1) * block]                for row in mat[r * block:(r + 1) * block]]     return rows, get  def buda_schedule(a, b, block, cores):    """BUDA 风格调度:把分块后的乘加任务轮流分给各核心"""    nb = len(a) // block    a_get = cut_blocks(a, block)[1]    b_get = cut_blocks(b, block)[1]    c_blocks = {}    next_core = 0     for i in range(nb):        for j in range(nb):            acc = [[0] * block for _ in range(block)]            for k in range(nb):                core = cores[next_core % len(cores)]                next_core += 1                part = core.multiply(a_get(i, k), b_get(k, j))                for r in range(block):                    for c in range(block):                        acc[r][c] += part[r][c]            c_blocks[(i, j)] = acc    return c_blocks, next_core  def main():    n = 4    block = 2    a = [[random.randint(1, 3) for _ in range(n)] for _ in range(n)]    b = [[random.randint(1, 3) for _ in range(n)] for _ in range(n)]    cores = [TensixCore(i) for i in range(4)]    c_blocks, total = buda_schedule(a, b, block, cores)     print("=== 分块调度结果 ===")    for (i, j), blk in sorted(c_blocks.items()):        print(f"C块({i},{j}) = {blk}")    print(f"共下发 {total} 个乘加子任务到 4 个核心")    for core in cores:        print(f"核心{core.core_id} 完成 {core.task_count} 次子任务")  if __name__ == "__main__":    main()
目的:模拟BUDA编译器把一个大矩阵乘法切成多个2×2小块,再轮流分配到4个“Tensix核心”上执行的过程,直观展示“切块→映射→并行计算”的核心思想。
  1. class TensixCore:定义一个Tensix核心类,每个核心有核心ID和任务计数器,对应一个独立厨师班组。
  2. def multiply(self, tile_a, tile_b)核心执行小块矩阵乘法,相当于掌勺大厨颠勺做一道菜。
  3. cut_blocks(mat, block)把大矩阵切成block×block的小块,对应BUDA的算子切块阶段。
  4. buda_schedule(a, b, block, cores)总谱调度函数,决定每一块“乘加子任务”分给哪个核心。
  5. next_core % len(cores)使用轮询策略在4个核心间循环分配,模拟BUDA的任务映射。
  6. cores[i].task_count统计每个核心实际完成的任务数,可以看到负载均衡效果。

常见误区

误区Grayskull有120个核心,也是并行计算卡,叫它“120核GPU”就行了吧?都是用来跑AI模型的。

正解Grayskull是数据流架构,不是GPU。GPU有统一的大容量显存和SIMT调度模型,所有线程按统一波长执行;Grayskull则把计算和数据打散到120个独立Tensix核心,每个核心自带SRAM,数据通过片上网络在核心间流动。比喻来说:GPU是“一位大厨用一口超大锅”,Grayskull是“120个独立厨师班组各炒各的锅”。

为何常见:两者都是“多核心并行AI芯片”,表面形态太像,外行人容易用一个熟悉的类别去套。

误区既然有120个Tensix核心,性能自然应该是单核的120倍吧?多核不就是线性加速吗?

正解受Amdahl定律和数据搬运开销限制,加速永远达不到线性。任务有串行部分,数据在核心间流动也需要时间。只有BUDA把数据切得足够好、核心间通信足够快,才能逼近线性加速。比喻:120个班组做一道菜,如果食谱规定“第3步必须等第2步的汤炖好”,再多班组也快不了多少。

为何常见:直觉上“人多好办事”,忽略了现实中的并列依赖和通信开销。

误区用Grayskull就得学一套新的CUDA,手动写内核函数、手动管理显存、手动同步线程。

正解BUDA是高层自动映射编译器。开发者描述高层模型,BUDA自动完成算子切块、数据布局、核心分配和调度,不需要手写核心级代码。就像你去餐厅点菜,总谱系统自动把菜分配给120个班组,不需要你进后厨教每个厨师怎么做。

为何常见:习惯了GPU编程模型(CUDA需要手写kernel),默认所有AI芯片都需要底层手工优化。

误区Tensix核心里有多个RISC-V处理器,它们肯定也在参与矩阵计算,不然放那么多CPU干什么?

正解RISC-V处理器只负责控制、同步和数据搬运,真正的矩阵乘加由专用矩阵计算引擎完成。两人分工完全不同:RISC-V是小伙计,负责递菜传菜;矩阵引擎才是掌勺大厨。让RISC-V去做矩阵运算,就像让传菜小弟颠勺,既慢又浪费。

为何常见:只看到“核心内有很多CPU”,忽略了专用加速单元的存在。

误区Grayskull支持多芯片直连,那只要不断加卡、不断连接,算力就可以无限翻倍,GPU做不到的扩展性它都能做。

正解扩展受片间通信带宽的硬约束。数据跨芯片搬运要经过有限的直连通道,模型越大、跨芯片流量越高,管道先堵住,扩展的边际收益急剧下降。比喻:分店之间的冷链车就一辆,菜品再多也运不过来,加再多的厨房也没用。

为何常见:厂商宣传“支持多卡互联”时,容易让人忽略通信带宽这个物理瓶颈。

面试题

Q1. Grayskull芯片内集成了多少个Tensix核心?

单选题 · easy

  • A.32个核心
  • B.120个核心← 正确答案
  • C.512个核心
  • D.1024个核心

答案:B。Grayskull是Tenstorrent首款商用AI芯片,集成120个Tensix核心,每个核心都是独立的“厨师班组”。32是常见GPU的SM数量,512和1024是新一代GPU的核心数量级,都是干扰项。

Q2. Tensix核心中负责执行矩阵乘加运算的是?

单选题 · easy

  • A.精简指令集控制核
  • B.专用矩阵计算引擎← 正确答案
  • C.片上网络路由器
  • D.本地SRAM控制器

答案:B。Tensix核心由RISC-V控制核、矩阵计算引擎和本地SRAM组成。矩阵引擎如同掌勺大厨专做乘加;RISC-V控制核像小伙计负责调度递料;路由器和SRAM控制器都是配套部件,不直接参与运算。

Q3. Grayskull与传统GPU在存储架构上最本质的区别是?

单选题 · mid

  • A.完全不使用任何内存
  • B.没有统一大容量显存← 正确答案
  • C.使用DDR4替代HBM
  • D.内存带宽高出十倍

答案:B。Grayskull采用分布式SRAM,每个Tensix核心自带“备菜区”,数据就近切块处理,没有GPU那种统一大显存。DDR4/HBM只是接口差异,Grayskull并非不用内存,也不是靠带宽取胜。

Q4. BUDA在Tenstorrent软件栈中的角色是?

单选题 · mid

  • A.底层设备驱动程序
  • B.编译器与自动映射层← 正确答案
  • C.用户态编程语言
  • D.分布式文件系统

答案:B。BUDA(Big Unified Device Architecture)是编译栈,读入高层模型后自动完成算子切块、融合、数据布局与核心调度,像总谱系统把点菜分发到各班组。它不是驱动、不是编程语言,也不是文件系统。

Q5. 一个Tensix核心包含以下哪些组件?

多选题 · mid

  • A.精简指令集控制核← 正确答案
  • B.专用矩阵计算引擎← 正确答案
  • C.本地SRAM缓存← 正确答案
  • D.大容量HBM显存

答案:ABC。Tensix是三件套:RISC-V控制核(调度)、矩阵引擎(计算)、本地SRAM(备菜区)。HBM是GPU和部分加速卡使用的统一高带宽显存,Grayskull的分布式SRAM架构中并没有HBM。

Q6. 峰值算力公式 P = N×M×f×2 中,因子"2"代表?

单选题 · hard

  • A.双芯片并行计算倍数
  • B.一次乘加算两个操作← 正确答案
  • C.双精度浮点模式
  • D.核心频率翻倍系数

答案:B。乘加操作(FMA)包含一次乘法和一次加法,统计算力时两个操作都要计入,所以乘以2。这个因子与双芯片、双精度、频率翻倍没有任何关系,是乘加运算本身的语义。

Q7. 关于Grayskull的双缓冲机制,下列说法正确的是?

多选题 · mid

  • A.计算与数据搬运可以重叠← 正确答案
  • B.能隐藏一部分访存延迟← 正确答案
  • C.会增大统一显存容量
  • D.提高每个核心的时钟频率

答案:AB。双缓冲让备菜区A被大厨使用时,备菜区B同步预载下一份食材,计算与搬运重叠、访存延迟被隐藏。它不改变存储容量,也完全不涉及时钟频率,纯属调度层面的优化。

Q8. 多芯片网格互联扩展的主要瓶颈是?

单选题 · hard

  • A.芯片内核心数不足
  • B.片间通信带宽有限← 正确答案
  • C.编译器不支持多卡
  • D.电压无法继续提升

答案:B。多芯片扩展时,数据跨芯片搬运必须经过有限的直连通道,管道带宽是硬瓶颈。核心数、编译器、电压都不是扩展时的首要限制,BUDA本身已支持多卡编译。

Q9. Grayskull实现低功耗推理的关键设计是?

单选题 · easy

  • A.大幅降低核心工作频率
  • B.专用矩阵单元加数据流设计← 正确答案
  • C.牺牲所有数值计算精度
  • D.大幅减少核心数量

答案:B。Grayskull靠专用矩阵引擎和数据流驱动的就近计算实现高能效,数据少走动、算力更聚焦。降频、降精度、减核心都是“牺牲换功耗”的做法,并非设计精髓。

Q10. BUDA编译器自动映射带来的价值包括?

多选题 · extreme

  • A.降低AI开发者的上手门槛← 正确答案
  • B.自动完成切块与核心分配← 正确答案
  • C.需要手工编写DMA搬运码
  • D.让开发者无需关心核心布局← 正确答案

答案:ABD。BUDA自动完成算子切块、数据布局、任务分配和调度优化,开发者既不需要手写DMA搬运,也不需要知道120个核心的物理布局,上手门槛自然大幅降低。C选项与自动映射正好相反。