问答媒体

 找回密码
 立即注册
快捷导航
搜索
热搜: 活动 交友 discuz
查看: 100|回复: 5

业界AI加速芯片浅析(一)百度昆仑芯

[复制链接]

2

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-1-7 19:06:31 | 显示全部楼层 |阅读模式
概况

百度作为互联网公司,造芯历史也相对比较悠久了,最早可以追溯到2015年,至今有接近十年的积累。
2018年,百度推出了其第一代昆仑AI芯片,采用的是其自研XPU架构,下面是几个关键指标

  • 采用14nm工艺
  • 吞吐率可达256 TOPS@INT8,64 TFLOPS@FP16,功耗约150W
  • PCIe 4.0*8
  • HBM高速显存,512GB/s内存带宽
  • 可用于云数据中心和智能边缘,支持全AI算法 ,已落地部署数万片
2021年,推出了第二代昆仑AI芯片,采用新一代XPU-R架构,关键指标如下

  • 采用7nm工艺
  • INT8性能不变,256 TOPS@INT8;浮点处理性能翻倍,128 TFLOPS@FP16
  • PCIe 4.0*16
  • GDDR6高性能显存
至于这两款商用芯片架构设计的技术细节,公开资料较少,不过可以在这三篇昆仑芯相关的论文中,理解到昆仑芯的一些设计思想。本文对昆仑芯的分析也主要来自于如下论文和百度官方的公开资料。
[1] XPU – A Programmable FPGA Accelerator for Diverse Workloads, Hot chips 2017
[2] Baidu Kunlun: An AI processor for diversified workloads, Hot chips 2020
[3] Kunlun – A 14nm high-performance AI processor for diversified workloads, ISSCC 2021
架构

本文仅从架构角度尝试对昆仑芯进行浅析,在其ISSCC 2021论文中可以看到,昆仑1代的基本架构如下。



昆仑芯架构

可以看到,片上存在两个compute unit。其中每个compute unit拥有16 MB的片上共享SRAM和专用的一个8GB HBM。这两个compute unit之间通过NoC相连接,其最大带宽为256GB/s,与连接到一个HBM的带宽相当。这样的好处是,可以使一个compute unit访问HBM的同时,其片上SRAM从另一个unit获取数据,两边带宽可以完全匹配。
至于compute unit内,存在两种计算模块,分别是XPU-SDNN和XPU-cluster。这两种模块一个负责提供高性能和另一个负责提供灵活性。
XPU-SDNN (Software-defined neural network),是专门针对large tensor进行优化的计算单元,支持算子包括矩阵乘、卷积、反卷积、激活函数、元素操作。其基本结构如下,模块内部包括MAC阵列,主要目的是实现高TOPS的计算。论文中对其细节未进行进一步说明,也许是脉动阵列的形式,知情的小伙伴可以评论区讨论下。



XPU-SDNN内部结构

XPU-cluster的定位略有不同,其设计目标是提供类似通用处理器的灵活性。XPU-cluster内部为众核设计 (manycore),如下图所示。每个核中都包含scalar unit和vector unit,这两个unit可以并行工作。其中scalar unit可以支持基本的ALU指令,也可以实现special function unit指令,比如log、exp、sqrt、div、pow。而vector unit有256bit的位宽,可以支持SIMD指令,对于并行处理有较强的能力。使用这两种unit,昆仑既可以在深度学习的大量数据并行计算中达到高效,也可以较为灵活地支持传统算法。



XPU-cluster内部结构

同时,XPU-cluster有三个存储层次:register file, local memory和shared memory,利用这些存储层次,可以让硬件运行更加高效,这给编程提供了一定的灵活性,不过也带来了一定的挑战。配合昆仑提供工具链:XPU Tensor Compilation Libarary和XPU tensor Development Kit,是有一定的可用性的。
值得一提的是,XPU-SDNN和XPU-cluster是共享指令集的,这样也可以简化编程。
最后,如下图是昆仑1代的版图设计和其他一些数据。总面积为504平方毫米,运行频率0.9GHz-1.1GHz。



昆仑版图与其他特性

至于昆仑2的架构,官网上放的图是下面这张,可以看到内部基本计算单元还是cluster与SDNN。更进一步的技术细节笔者目前没有查阅到相关的资料,后续看到的话会更新在这里。



昆仑2架构

笔者能力有限,若有问题还望大家不吝指出,欢迎讨论。
回复

使用道具 举报

1

主题

7

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2023-1-7 19:06:59 | 显示全部楼层
这些功能不就是compute shader的简化版么[好奇]
回复

使用道具 举报

1

主题

8

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-7 19:07:47 | 显示全部楼层
本质都是专用的计算算力芯片。
回复

使用道具 举报

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-1-7 19:07:58 | 显示全部楼层
[大笑][大笑]
回复

使用道具 举报

0

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2023-1-7 19:08:54 | 显示全部楼层
还想要啥自行车
回复

使用道具 举报

1

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2025-6-24 05:51:09 | 显示全部楼层
非常好,顶一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| 问答媒体

GMT+8, 2025-9-18 07:03 , Processed in 0.097780 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表