撰文 --- 邸利会
包云岗的一天以运动开始。包云岗是谁?他是中国科学院计算技术研究所的研究员。简单说,他是做芯片的。在过去的这些日子,由于中兴事件,华为等公司被禁运,这个群体承受了不少压力。有人说,芯片落后,做芯片的人要负责。 不过,这样的看法也许有点过严苛。芯片这行的门槛确实很高,并不那么容易赶超
今天研制一款中档芯片,往往需要数千万甚至上亿美金的投入。更严酷的现实是,长期以来,市场已被少数企业垄断,他们构建了后来者难以逾越的软硬件生态体系 (如个人电脑的 window-intel生态,手机的arm-android生态) 。 面对垄断的市场和复杂的禁运,中国的芯片究竟该如何破局?
目前看,有坚持自主研发,从底层做起,一点点构建生态的“死磕”型,如龙芯;有从自身业务出发研制芯片,自产自用的系统商,如华为;也有找准特定领域发力者,如寒武纪、合肥长鑫等。 而包云岗所代表的另外一些人则相信,构建开源芯片生态,引入硬件的敏捷开发,也可以是一条光明的道路。
充满机遇的黄金时代
中国芯片的发展不太可能脱离世界技术发展的潮流与轨迹。在埋头苦干之前,先抬头环顾下四周也许是十分必要的。
2018年的6月4日,在洛杉矶举行的第45届计算机体系结构国际研讨会上,2017年图灵奖得主 David Patterson 与 John L. Hennessy 登台,发表了名为《计算机体系机构的黄金时代》的演讲。 在演讲中,他们回顾了1960年代以来的计算机的发展并指出了当前面临的一些挑战。其中引人注目的是,摩尔定律、登纳德缩放定律正在失效,粗略地说,晶体管不太可能无限地小下去,同时还能保持低的能耗。
2017年图灵奖得主、加州大学伯克利分校教授 David Patterson 在第45届计算机体系结构国际研讨会上发表演讲。
那么,如何应对这一危机呢?首先,他们建议可以着眼特定领域订制架构。这一想法目前已经被业界广泛采用,比如在红火的人工智能领域,已经涌现出各种各样的人工智能专用芯片,用于加速语音识别、图像识别等任务。他们的第二个建议是,在创建开源指令集的基础上,构建开源硬件的生态。指令集可以看作是底层硬件和上层软件之间的桥梁,实现了软件和硬件的沟通。
这个思路是受了开源软件的启发。大家熟知的 Linux 和 Android,都是开源的典型案例。Android 也是基于Linux核,如果没有开源,Android 手机便不会一夜间遍地开花,很快与苹果分庭抗礼。
当前,开源指令集中最有名的当属RISC-V,由 David Patterson 所带领的加州伯克利分校的团队在2010年所开发。
当时,该团队为了启动一项研究,需选一种指令集,在考察了ARM、X86等多款指令集后,发现不仅设计复杂,而且还有知识产权的障碍。他们临时组建了一个四人小组,用3个月的时间从头到尾设计了一套新的指令集。之后,他们将RISC-V彻底开放,其选择的开源协议允许使用者修改或重新发布开源代码,也允许进一步开发商业软件,且不用为指令集支付费用。为了推广RISC-V,David Patterson教授常年奔走,不遗余力地进行宣传。伯克利的研究团队也在世界各地举办研讨会,为开发者、使用者和研究者架设彼此交流的平台。
2015年,非营利组织RISC-V基金会成立,旨在打造开发合作的软硬件社区,构建完善的生态系统。
如今,该基金会的成员已经超过了325个,其中不乏阿里巴巴、华为、谷歌、高通、英伟达、三星、台积电等产业巨头,也包括了中科院计算所、加州大学伯克利分校、麻省理工学院、普林斯顿大学、苏黎世联邦理工学院、印度理工学院等学术机构。从世界范围看,RISC-V正获得越来越大的关注,处在快速发展当中。
两位作者提出的第三条建议是,在硬件领域践行敏捷开发。这一点也是受了软件开发方法的启发。
十几年前敏捷软件开发的兴起,克服了传统瀑布式开发频繁失败的情况,革新了软件开发的方法。
一些老的程序员应该对事无巨细的规划和繁复的文档记忆犹新。而敏捷开发下,几个人的小团队就可以快速给客户展示一个原型,并根据客户的反馈进行不断的迭代,很大程度上保证了需求的贴合以及按时交付。两位作者分析后认为,尽管属于硬件领域,芯片开发也可以实现敏捷开发。
包云岗团队也曾以一个项目 (实现一个简单的共享二级缓存) 进行过实际的比较。他们发现,一个本科生新手用敏捷开发短时间内就可以完成项目,不仅代码量少,而且代码质量可以达到甚至超过工程师的水平。
“敏捷开发可以快速构建一个可以工作的原型,对项目开展来说是非常有意义的,从这点来说,确实大大降低了硬件开发的门槛。” 包云岗说。
然而,与世界相比,中国在开源硬件和敏捷开发方面才刚刚起步。
今年6月,国际计算机体系结构旗舰会议ISCA在美国亚利桑那州凤凰城召开。当时,与ISCA一起举行的远景研讨会吸引了上百位听众,主题“面向下一代计算的敏捷开放硬件”。而11位报告人中有图灵奖得主David Patterson教授,多位美国工程院院士,麻省理工学院、伯克利、斯坦福、加州大学圣迭戈分校、谷歌、英伟达、美国国防高级研究计划局 (DARPA) 等顶尖大学、企业和政府机构的专家。
如此重要的会议从一个侧面反映出,开源硬件以及敏捷开发已经是行业关注的前沿热点。然而,包云岗是唯一一位来自美国以外的报告人。
他说, “这多少有些势单力薄”。
中国的开源行动
RISC-V中国联盟推动者孙凝晖、倪光南、包云岗、方之熙与David Patterson教授合影。
回顾历史,中国软件行业的迅速发展,一定程度上拜开源软件所赐。以移动时代为例,如果没有 Android,就没有今天的中国移动手机厂商以及更大规模的移动应用市场——这意味着,如果你是Android用户,将无法打车、无法购物、无法发朋友圈......
那么,如果开源芯片是未来的趋势,中国是否做好了准备?在经过9个月的筹备后,2018年11月8日,在浙江乌镇举行的第五届互联网大会上,中国开放指令生态 (RISC-V) 联盟正式宣布成立。包云岗担任秘书长。
一年之后,在10月的第六届世界互联网大会“互联网之光”博览会上,中国开放指令生态 (RISC-V) 联盟的多家成员单位,芯来科技、兆易创新、卡姆派乐等展示了他们基于RISC-V的成果。两周前举办的首届中国RISC-V论坛,企业界的注册人数占到78%,企业界的投稿占到60%。与会专家与David Patterson教授进一步讨论了如何更好发挥中国在RISC-V开源方面的优势,如何推动中国企业和机构更好地参与和贡献国际社区,RISC-V国际基金会如何调整以支持更多的中国力量参与等等。种种迹象表明,中国的学术界和产业界正逐步拥抱开源,尤其是参与RISC-V生态的构建。
在这众多的参与者中,阿里平头哥的身影引人关注。这家于去年10月31日成立、阿里全资控股的公司,标志着阿里造芯的开始。
当然,从世界范围看,系统公司造芯也不稀奇,谷歌、华为围绕着自我的业务,都在研制芯片。华为更是在2004年就在之前研发专用集成电路的基础上,成立了全资控股的子公司海思。不过,阿里发展芯片的打法有所不同,它在自己造自己用的同时,也在打造平台。
今年10月15日,阿里达摩院计算技术实验室负责人、平头哥芯片公司CTO及首席科学家谢源在计算所介绍平头哥的战略。(摄影:邸利会)
今年8月,阿里发布了无剑平台,其主要目的据称是帮助大量的中小企业,以一半的开发成本,一半的研发周期满足系统级芯片的设计需求。
过了两个月,在第六届互联网大会上,平头哥宣布,正式开源低功耗微控制芯片设计平台。开发者可以基于该平台设计面向细分领域的定制化芯片,IP供应商可以研发原生于该平台的核心IP,高校和科研院所则可开展芯片相关的教学及科研活动。
更早前的7月25日,平头哥也发布了号称性能最强的RISC-V架构处理器玄铁。阿里这样大企业的一系列举动,除了构建自我生态外,无疑也会促进中国整个开源芯片的发展。 在学术界,中科院计算所也研发了一套基于RISC-V、面向开源芯片设计的系统级验证和原型平台SERVE。
“SERVE平台在国际上和已有的最先进的企业和大学的系统相比,也是有其优势的,而且已经给国科大200多位本科生使用了2年,论文发表在国际计算机教育旗舰会议SIGCSE上。” 包云岗告诉《知识分子》。
直面挑战
尽管学界和工业界都所有行动,但就目前的开源芯片而言,也还面临着不少的挑战。 比如,即使是阿里这样的巨头,在其打造的芯片设计平台中,也没有自己去设计EDA工具,而是与美国这一领域的巨头Cadence等合作,借助阿里云的方式让中小企业用起来。可以说,缺少了开源的EDA工具链,就算不上完整的开源芯片平台。 EDA工具在芯片设计中扮演着重要的角色,如果把设计、制造、封装芯片的过程比喻成写书、印书和装订书,EDA就相当于写书的工具,如同笔和墨。可如此重要的工具一直以来被 Synopsys 和 Candence 等巨头垄断,后来者要追赶十分不易。从研发投入看,两家公司2018年就已达60至70多亿人民币。在人才方面,一个公司每年至少需要3000名研发工程师才能达到和巨头们匹配的创新能力,可估计下来国内的EDA领域的博士生只有约50名。
一方面,没人没钱、高门槛、市场小,少有企业愿意进入EDA领域,可另一方面,即使学校培养了大量学生,也没有企业可以消化。中国EDA的发展进入了尴尬的“死锁”状态。
今年8月,随着 Synopsys、Cadence、Mentor 三家EDA公司停止与华为合作,EDA的困境引发了广泛关注。当时,华为轮值董事长徐直军表示,“大家都很清楚,这些公司都不能和我们合作了,但天下也不是只有他们。历史上,即使没有工具,也可以生产出芯片,当然对我们有挑战,效率不会那么高了,也不会那么轻松了。英特尔70年代就生产CPU了,这些公司都还没有成立。”
虽然如此,EDA领域的一位专业人士向《知识分子》表示,“华为所说的是可以做到的,但如果是考虑到更先进的7纳米,7-plus的话,还是需要国外厂商的支持。” 这一 “卡脖子” 的工具究竟该如何破局?
在今年8月14日于北京九华山庄召开的CCF容错大会上,北京大学、中科院计算所、清华大学和复旦大学等自主发起了开源EDA框架——OpenBelt倡议。来自北京大学高性能与应用中心的罗国杰副教授重点介绍了这样一个开源EDA框架的设计动机和思路。
做开源EDA框架的想法两年前就产生了。面对EDA这样一个前途黯淡的小方向,罗国杰一直在考虑如何让其他领域,比如更广的芯片设计领域的人也参与进来。
“EDA领域有很多都是很难的问题,也许给做数学的擅长这个问题的人,说不定一下子就解决了,但他们下一步要试一试这个方法是否好用,可能又要了解微电子芯片设计,还要写代码,拿数据,其实都是很大的障碍,但如果有一个很好的基础设施,就能马上测一测是不是对解决问题适用,就很好。” 罗国杰告诉《知识分子》。
目前,市面上已有的开源EDA工具链已经可以满足小规模芯片的开发需求,但与商业版本相比,在先进工艺支持、稳定性和可用性方面依然有不小的差距。罗国杰等人的倡议可说正当其时,利于凝聚各界的智慧和力量,为打破目前这一领域的垄断局面贡献力量。
开源EDA工具链是构建开源生态的其中一个重要因素,其他的重要的因素还包括高质量的IP核,更完善的芯片开发、验证、测试平台,以及硬件之上的系统软件和开发环境等,每个要素都不可或缺。 但罗马并非一天建成,开源生态的建设也并非一日之功。
芯片人才困境
今年7月的中国科学院大学录取通知书,附着一枚“龙芯”,被网上称为“最硬核”录取通知书。
发展芯片,可做的事情很多,但培养人才恐怕都是排第一位的。中国芯片人才的匮乏一直也是制约芯片行业发展的重要因素。
在过去,整个芯片行业,也存在着类似EDA领域的死结,即使大学培养了足够多的人才,由于整个行业客观上的疲软,也难以容纳或留得住这些人才。事实上,据包云岗他们做的一个简单统计,不少做硬件的中国学生,毕业后去了其他的国家,尤其是美国。
随着这些年人工智能、物联网时代的到来,加之美国的禁运,不少人认为,中国的芯片行业迎来了难得的发展机遇。海思、寒武纪、平头哥等众多芯片公司的强劲人才需求为打破死结提供了有利条件。
然而,人才的培养仍然面临一些障碍。比如,一个需要克服的障碍是人们的旧观念——与软件行业相比,做硬件没前途。
2018年6月,在美国商务部公布了与中兴通讯和解协议后几天,CCF举办了一次小型论坛。组织者问,假如你的孩子今年上大学,会推荐选择芯片领域吗?听众回答不会的占到55.3%。
“学生最后的取向是市场决定的,很难靠情怀靠机制阻止学生去高薪资的互联网企业。” 中国科学院计算所研究员韩银和说。观念的改变需要时间。
另一重挑战是,与中国信息产业头重脚轻相对应,中国信息人才的培养也是头重脚轻。
比如,在人工智能火红的今天,中国的人工智能产业获得了不错的发展,但底层研究能力的缺失以及人才的匮乏依然是突出问题。
中国科学院计算技术研究所研究员陈云霁,这位AI芯片的先锋人物在今年发表的一篇文章中尖锐地指出——
“越是人工智能上层 (算法层、应用层) 的研究,我国研究者对世界作出的贡献越多;越是底层 (系统层、芯片层) ,我国研究者的贡献越少。在各种 ImageNet 比赛中,我国很多机构的算法模型已经呈现‘霸榜’的趋势,可以说代表了世界前沿水平。但这些算法模型绝大部份都是在CUDA 编程语言、Tensorflow 编程框架以及 GPU 之上开发的。在这些底层的’硬科技’中,我国研究者对世界的贡献就相对少了很多。底层研究能力的缺失不仅给我国人工智能基础研究拖后腿,更重要的是,将使得我国智能产业成为一个空中楼阁,走上信息产业受核心芯片和操作系统制约的老路。”
鉴于此,本没有教学义务的陈云霁已经在全国十个高校开设了智能计算系统的课程,从上层的算法到编译框架、再到操作系统、芯片,把整个的技术栈串起来。
“在不同的学校上这门课的感觉是不一样的,北大上的效果比较好,基础好的话比较快能理解我怎么把知识点串起来,但有的学校单个的知识点都没有完全理解,还想结合起来解决问题就非常困难。” 陈云霁说。
一场事关未来芯片发展的教育实验正在展开。今年7月,一封“最强录取通知书”刷屏网络,中国科学院大学校长李树深给2019级本科新生的信中,嵌入了一枚“龙芯三号”的实物芯片。这枚芯片的象征意义不言而喻——中国芯片的未来是在年轻人身上。
包云岗记得,去年11月8日的乌镇,在中国开放指令生态 (RISC-V) 联盟成立仪式结束后的庆祝酒会上,联盟的成员觉得,推动开源芯片可以先从教育入手。之后,包云岗等人在科大启动了一个计划,希望让本科生能在全开源的EDA工具链上设计出开源处理器芯片,并完成流片,实现带着自己设计的芯片毕业,从超硬核录取通知书变成超硬核毕业证书的梦想。尽管中国芯片设计的人才十分匮乏,很多芯片企业抱怨找不到人,但传统上培养一个芯片设计师实际上耗资巨大。该计划某种程度可以看做是较为廉价、快速大量培养芯片设计人才的办法。
在今年10月31日智源研究院举办的智能体系架构与芯片专题论坛上,陈云霁不无感慨地说——
“我就想了一下,我自己在计算所干了17年的芯片设计,耗了国家多少钱?我的博士生导师跟我说,一个小的芯片设计师就是拿钱砸出来的,就是拿失败,拿bug耗出来的,从这个角度上看,我确实也耗了国家不少钱,肯定是付了一些学费的。一个好的芯片设计者,比如一个海思的芯片设计者耗了多少钱,是以亿计的。反过来说,如果把培养一个顶级的设计师花的一亿块钱,反过来用五万块钱培养一个人,怎么样?虽然不是最顶级的,但这五万块钱的一个人就可以从逻辑设计到封装,到后来在板子上调的问题全部一串搞完,这样为国家培养一个人才挺划算的。培养两千个还不错的人才,对我们国家不是浪费钱的事情,而是造福国家,造福企业的事情。”
包云岗也在这个论坛上。他透露,目前给本科生做的芯片,选的是比较低端的110纳米工艺,这样开源EDA工具链资源更丰富一些,设计的复杂度也会降低一点。
“这个事情从来没有想过短期内能够看到一个很重大的突破,我是觉得只要日积月累的去做,去迭代,把EDA工具链做强起来,把流程积累起来,十年左右的时间预计可以把这个开源芯片的生态建起来。” 包云岗说。确实,开源芯片是一个美好的愿景,到要变成现实还面临观念、技术、资金、商业模式、知识产权、协作机制等多方面的挑战。包云岗记得,去年11月8日的乌镇,当中国开放指令生态 (RISC-V) 联盟刚成立时,不管是在理解上还是实施计划上,对开源芯片他其实都还处于朦胧状态,但那时已经做好了4500天每天进步千分之二的长远打算。
“到2030年还有约4500天,我们努力让每一天哪怕提高千分之二,到时也会比今天强8000倍。” 他说。
每天提高一点点,哪怕不多。这似乎已是包云岗的人生格言,就像他从事的另一项“事业”——跑步减肥。从一年前的决定开始,他就时不时在朋友圈记录下最新的进展。一年下来,他的体重降了约9公斤,腹部的呼啦圈也消失了。身体轻盈的好处是他可以跑得更快,更为敏捷——昨天他的速度已经是平均每公里4分34秒,我特意翻阅了他去年十一国庆时候的成绩,6分09秒。不经意间,时间可以回答一切。
参考资料
1. https://www.sigarch.org/riscy-history/
2. https://cacm.acm.org/magazines/2 ... ecture/fulltext#R11
3. https://riscv.org/members-at-a-glance/
4. https://agilemanifesto.org/
5. Lee, Y.,Waterman, A., Cook, H., Zimmer, B., Keller, B., Puggelli, A. ... and Chiu, P.An agile approach to building RISC-V microprocessors. IEEE Micro 36, 2 (Feb.2016), 8–20.
6. 包云岗等,处理器芯片开源设计与敏捷开发方法思考与实践,《中国计算机学会通讯》,第15卷,第10期。
7. 陈云霁,智能计算系统——一门人工智能专业的系统课程,《中国计算机学会通讯》,第15卷,第6期