龙芯近日举办了盛大发布会,正式推出龙芯3C6000系列服务器处理器、龙芯2K3000/3B6000M工控与终端处理器,甚至预告了下一代CPU微架构。
与此同时,龙芯还回顾了在GPU图形核心领域的发展历程,首次披露了未来多代技术和产品规划。
龙芯的主业是CPU通用处理器,而做GPU的最初目的很简单,就是为了解决和龙芯CPU的配套问题,因为当时面临着进口低端GPU芯片供货不稳定不畅通、嵌入式GPU不适合桌面市场的情况。
有了自己的CPU、GPU,龙芯就可以形成自我配套,形成系统优势,降低系统成本。
早在2016年,龙芯GPU项目就立项了,这个时间可能比很多人想象的都要早很多。
2017年开展图形算法调研;2018年进行总体架构设计,同时开展结构模拟器设计;2019年完成模拟器验证,转入逻辑与结构设计阶段。
2020年,龙芯首款GPU LG100诞生,应用于龙芯2K2000处理器、龙芯7A2000桥片(搭配(龙芯3号系列),性能接近AMD R5 230,至此龙芯完成了GPU结构设计与验证的全套工作。
2021年的LG110属于小幅迭代升级,在相同面积下算力性能提升了一倍,也用于龙芯7A2000。
2022年的LG120则是又一次迭代,主要是提高了光栅化精度,优化了图形与算法,龙芯2K2000后期用的就是它。
龙芯的GPU设计是从零开始自研的,没有依赖境外IP,也没有历史包袱,技术上也早期的固定功能流水线、可编程流水线阶段,直接进入了统一渲染流水线架构。
当然,龙芯GPU起点并不算高,初期仅能支持OpenGL 2.1、OpenGL ES 2.0,但已经能够基本满足现代桌面应用的显示需求,可靠性和兼容性也都得到了市场验证,尤其是大幅降低了龙芯终端的成本。
迄今为止,LG100系列的出货规模已经超过了百万颗。
2021年,LG100系列持续迭代的同时,龙芯就启动了第二代LG200的调研与整体设计。
这一次,龙芯调整了GPU设计思路,从统一渲染架构进步到通用计算架构,将以往的图形处理为中心,变成了计算为中心,这不亚于又一次从零起步。
之所以这么快转换方向,因为龙芯意识到,未来将是计算的天下,即使是图形处理也以计算任务的形式存在。可以说,这也为后续的通用计算、AI处理发展打下了基础。
经过漫长而复杂的设计、验证、迭代、磨合,加上配套驱动开发,一直到2024年,LG200才最终完工,用于这次发布的龙芯2K3000/3B6000M。
从路线图上看,它也会有一个迭代升级版本LG210,预计会在后期的龙芯2K3000/3B6000M中使用。
龙芯2K3000/3B6000M中集成的LG200 GPU,图形性能有了成倍的提高,像素填充率从2GP/s提高到4GP/s,纹理填充率从2GT/s提高到8GT/s,还支持OpenGL 3.3、OpenGL ES 3.1、OpenCL 1.1。
LG200还初步支持通用计算加速和AI加速,运行目标识别等AI任务、大语言模型等都没有问题。
这可以说是龙芯的第一款GPGPU产品,官方宣称900MHz频率下FP16单精度浮点性能230.4 GFlops(2304亿次每秒)、INT8整数性能7.2 TOPS(7.2万亿次每秒)。
事实上,它的频率最高可以达到2.2-2.5GHz,适当开放频率的话FP16浮点、INT8整数性能分别可以达到256 GFlops、8 TOPS。
GPGPU可以说是图形处理器历史发展的第四个阶段,将通用计算、图形渲染合为一体,一肩挑,这也是现代GPU的基础特性。
对于龙芯来说,CPU补课基本完成,GPU依然还在补课阶段,尤其是API支持,之前落后太多,下一步将逐步支持OpenGL 3.2/4.0、OpenCL 3.0(虽然它已经基本凉凉),并加入新的Vulkan 1.1。
什么?你说DirectX?这是个封闭标准,纯自研的国产GPU暂时还做不到,除非买Imagination PowerVR之类的国外IP授权。
性能方面,龙芯GPU将首先继续升级架构,全面实现基本功能,然后扩展功能和性能,全面优化挖潜,逐步实现图形流水线、计算性能的可扩展,大力提高能效比、单位面积性能。
这就是龙芯说的“先通后专”的发展路线,也就是先做好通用的GPU,再做好专用的GPGPU,尤其是在AI方面,当然现阶段主要面向端侧的AI推理,满足日常应用。
至于云侧的AI训练,那是AI加速卡的工作,龙芯至少目前不考虑。
龙芯未来的GPGPU也要分为三步走,并开启一个全新的龙芯9A系列,也可以叫LG300系列。
龙芯GPGPU的架构设计,看起来和NVIDIA的颇为相似,也是分为多个GPC(图形处理集群),彼此通过L1N网络互连。
所有GPC加上二级缓存,通过L2N网络连接各个顶层模块,包括内存控制器、指令处理器、显示控制器、视频编解码控制器、PCIe控制器。
不同硅片之间,还可以通过LCL龙链进行互连,大大扩充芯片规模和性能。
再深入来看,GPC内部由一条GP图形流水线、多个SP流处理器组成,而每个流处理包括一个纹理单元、多个矢量单元,而每个矢量单元又包括16个FP16单精度浮点单元、1个FP32双精度浮点单元、1个Tensor张量单元(就差AI单元了)。
每个单元的性能指标,也都已经确定。
需要强调的是,龙芯GPGPU虽然自研,但并不封闭,原则就是兼容主流、拥抱开源。
作为一套加速计算平台,龙芯GPGPU将具备全方位的能力,计算API方面不但支持传统的OpenCL,更是提出了兼容CUDA(暂不清楚会如何做到),可支撑训练、推理、微调等全场景AI,覆盖云侧、边缘侧、端侧全领域。
此外,图形API会紧跟OpenGL、Vulkan两大行业主流,视频编解码加速支持会逐渐覆盖更多格式。
龙芯9A1000:
已经进入设计尾声阶段,即将完成流片,2026年推出。
这将是龙芯首款GPGPU专用芯片,通过它初步走通和验证设计思路,可用于独立显卡、AI加速卡。
它的定位比较低,成本也比较低,性能大致相当于AMD 7年前的入门显卡RX 550,但已经支持曲面细分、计算着色器等特性,不过图形API仅支持到OpenGL 4.0(RX 550 OpenGL 4.6)。
集成视频编解码模块,支持最常见的H.264、H.265。
AI推理性能方面,预计INT8整数格式下达到32-40 TOPS。
龙芯9A2000:
2027年推出,将达到主流性能,实现完整功能,用于桌面和服务器。
通过架构优化、堆料双管齐下,大力提升性能单位比,整体性能可以提升大约4倍,比如FP16浮点达到5 TFlops,INT8整数达到160 TOPS。
它还将首次支持双硅片互连,性能再翻一倍,达到同工艺下的国际先进水平。
图形API方面终于可以支持到OpenGL 4.6,张量单元支持包括BF16在内的更多数据格式,还加入虚拟化支持。
龙芯9A3000:
暂无时间表,将首次冲击高端高性能,工艺和龙芯CPU一样演进到xnm,频率有望得以大幅提升,性能再次实现3-5倍的跃升。