根据“牧村波动”(makimoto’s wave)显示,半导体产品未来可能将沿着“标准化”与“定制化”交替发展的路线前进,每十年波动一次。2020 年将至,过去数年我们一直在呼唤ai 芯片和高性能计算芯片,如果 “牧村波动”仍然奏效,那么下一个波峰将是超高灵活度集成的芯片。而这也解释了为什么英伟达所开创的gpgpu在过去几年里赚的钵满盆满。
其实仔细想想,除了“牧村波动”所昭示的进化规则,通用gpu之所以能够成为当前的主流趋势,并引来众多企业趋之若鹜,至少有一明一潜两大驱动因素。明面上,现在是异构计算的天下,近年来传统以cpu为核心的服务器市场增长比较平缓,而gpu服务器的增速迅猛,年增长率据称超60%。
潜在因素,5g时代的到来推动了物联网的迅猛发展,应用场景更加丰富多元,这要求云端的计算资源能应对各种复杂场景的需求提供丰富灵活的计算支撑,工程师们肯定更愿意将能“通吃”的芯片焊在服务器上。
打铁还需自身硬
想要吃到通用gpu这份蛋糕还是需要企业有足够深厚的功底。相较于开发定制化的ai芯片等,通用gpu在技术上有更高的难度。从硬件角度看,最核心的是指令集。指令集的覆盖面、颗粒度、效率等决定一款芯片能否覆盖到足够宽的应用市场领域,并对软件开发和产品迭代足够友好。无论是英伟达还是amd的gpgpu,指令集都在千条量级,而目前国内的ai芯片指令集大多数都在百条以内。类型与数量的差别映射到硬件高效实现的复杂程度,差距是巨大的,在这方面国内的团队还存在着一定的差距。另一个重要方面就是基于硬件层的任务管理和智能调度,这可以让芯片从硬件层即提高算力的利用率,也就是大家常说的实际算力。大多数ai芯片的做法是完全依赖于软件层的调度实现,但这种方式第一增加了软件开发的复杂度,第二降低了硬件算力的利用率,第三减缓了软件栈迭代更新的速度,这在ai领域,面向算法模型、开发环境、应用场景加速更新的大背景下无疑大大增加了产品落地与工程化的难度。
在软件方面,毫无疑问,最重要的必然是开发生态,gpgpu通过英伟达十多年的耕耘,已经建立起了一个超过160万开发用户的庞大而成熟的生态-cuda。ai芯片则需要搭建全新的生态,它会带来两个维度显著的问题,第一个维度是客户端,客户需要冗长的适配期,从原有的开发环境切换到新的软件生态,这不仅带来了资源投入,推迟了业务部署时间窗口,增加了业务的不确定性,更严重的是不利于保护已有的软件投资,软件的很多部分都要重新来写并适配,这对企业级用户来讲恰恰是非常敏感与慎重的事情。另一个维度是产品开发端,从底层芯片与系统软件,跳过cuda层去直接支持开发框架,必然带来巨大的软件投入,不停得追赶现有框架的新版本,以及生态巨头的新框架,这在底层软件人员缺乏的背景下矛盾显得尤其突出。
而以上两点说到底都是需要人来解决的,恰恰在这方面的人才是目前中国企业最缺少的。目前只有英伟达和amd拥有丰富的团队,这也侧面证明了为什么intel自己折腾几年,最后还是请了原amd rtg显卡部门负责人raja、zen架构的功勋领袖jim keller、显卡技术市场总监damien triolet这几位大神。
曲线救国还是正面突破?
围绕gpgpu,国外已是龙争虎斗,反观国内,能够洞悉gpgpu发展机遇并付诸行动的芯片厂商少之又少。
华为是为数不多看到通用gpu趋势的芯片厂商之一,而且看起来正在尝试两条腿走路通往gpgpu的路上。一条路是,华为通过其在手机芯片方面的积累,希望从移动端gpu出发,逐步延展至平板电脑端、桌面端、服务器端,走这种从简单到复杂、从小芯片到大芯片的路径。
另一条路有点“天龙寺众高僧合练六脉神剑”的意思。通用gpu复杂、难做,华为就“化繁为简”,今天先做ai-gpu,明天再做“区块链gpu”,后天再做“超算gpu”……到最后再来个“集大成”,“六脉神剑”通用gpu就成了。看起来很棒对吧?但是这种想法可能过于理想化了。通用gpu不是简单的“1+1”,十个人会一阳指,也及不上一个人会六脉神剑,一个道理。
笔者还听说,阿里旗下的芯片部门也想做gpgpu,只不过阿里巴巴的野心大则大矣,只是眼下还没有足够大的技术团队能支持这件事。
其他厂商中,包括寒武纪、依图、比特大陆、燧原科技等企业,目前也都重点布局于ai芯片,并分别利用自身的优势走出了自己的风格和水平。
而在gpgpu赛道上,一家名为“天数智芯”的公司选择了正面“刚”。这家公司目前围绕gpgpu的系统研发已聚集了一支百余人的技术团队,其中不乏amd在美国和上海做 gpu的核心团队成员、行业经验超20年的世界级技术专家。今年刚刚试水发布了一款边缘端芯片,并计划明年正式发布gpgpu大芯片产品。
国内企业的机遇与挑战
有一点毋庸置疑,算力经济时代,整个世界正面临半导体市场的增长大潮,市场上也涌现出越来越多的半导体企业百舸争流。而英伟达早早凭借强大的gpu+cuda方案切入各个领域,用大笔研发投入和时间堆积起坚不可摧的生态城墙,而这恰恰是国内外其他玩家的薄弱环节。
国产芯片企业,特别是处在创业初期的那些,“正确选择胜过百倍努力”。笔者认为可通用的gpu确然是个非常值得投入的方向。gpgpu诞生也只有十数年时间,“护城河”并非坚不可摧。
只不过在现阶段,国产替代方案还要在cuda生态的基础上推广自己的芯片产品,在兼容cuda的同时,建设新生态。在这个过程中,每一步都关键且充满挑战。