事关国计民生的关键技术必须掌握在自己手里,否则就会被别人“卡脖子”。
在刚刚过去的2020年里,在美国的种种打压之下,中国高科技产业凌寒绽放,正迎来蓬勃的春天。
国产龙芯3号芯片。图|新华社
这场反击战,我们是怎么打的?
1
基础硬件
弯路重重
基础硬件在我国起步较早,但一直饱受质疑。
首先,发展路线混乱模糊。
以CPU芯片为例,龙芯使用的是类MIPS指令集,申威是自主发展提出的类Alpha指令集,华为和飞腾使用的是ARM,宏芯采用的是Power 8,而海光和兆芯是PC上常见的X86。可想而知,仅仅是为了适配这么多指令集,自主信息产业的操作系统和应用开发者就要花费多大的功夫。
2007年12月26日,采用国产高性能通用处理器芯片“龙芯2F”和其他国产器件、设备和技术的万亿次高性能计算机“KD-50-I”。图|新华社
【注:指令集即CPU中用来计算和控制计算机系统的一套指令的集合。】
其次,自主信息产业20年的发展,看不到明显的回报。
也就是说,自主信息产业和国际信息产业顶尖水平的差距表面看来并没有缩小。以国内发展得相对较好的CPU为例。
目前,自主CPU每GHz主频的单核性能大约为主流桌面市场水平的40%-80%;
自主CPU的主频大约只有主流桌面水平40%-60%;
自主CPU中除了主打超算的申威和主打服务器的华为、飞腾、宏芯,大部分用于桌面的自主CPU只有4个核,这也低于现在主流的6个核。
这样核算下来,自主CPU的性能只相当于主流水平的10%-20%,和20年前相比,情况虽有所改善,但并未根本改善。
连综合发展水平最好的CPU都有这么多问题,发展水平相对一般的高端DSP、FPGA、显示核心(GPU)等存在的问题就更严峻了。
因此,如何提出符合中国实际情况的清晰发展路线、如何真正缩小与世界主流水平的差距,就成了关键。
认识到这两点不容易。此前,我们走了不少弯路:
最早我们以为核心关键是少数性能指标。
2006年9月,中国自主研制的“龙芯二号”增强型处理器问世,性能达到了国际先进水平——在特定优化应用下,“龙芯二号”增强型处理器(即龙芯2E CPU)每G主频浮点运算的性能可以与奔腾4的早期型号相当。
但是,英特尔所具备的完善的生态链、上下游支持、高主频等,龙芯都不具备。而基于龙芯的产业链更是完全没有组织起来,想像英特尔电脑一样,随处可买,还能保证良好的兼容几乎不可能。
于是我们把自主CPU的核心关键,重新定位为供应链的组织。
龙芯先后组织起了产品、售后和下游配合的主板商,中关村大街上一度也有了龙芯电脑专卖店。此后,龙芯还与意法半导体公司签订了知识产权的授权。在此期间,意法半导体将向龙芯支付一次性的门槛费,以及每枚芯片的专利许可费用。这也是当时IC领域(IC即自发明集成电路),中国对外授权最大的合同,创造了中国半导体行业历史上首个对外收权利金的先例。
面对大好形势,下一步,龙芯却作出了误判。
当时,龙芯认为英特尔几乎已经碰到了单核性能的天花板,龙芯的单核性能已经是英特尔的一多半(某些指标2F确实已经达到了奔腾4的一多半),而且主要差距是在主频上,每GHz主频的性能已经不是主要矛盾了。未来计算机的竞争是多核的竞争,而当时英特尔采取的是单核到双核到四核的策略,龙芯的策略是核心数增加的速度要加倍,是从单核到四核到八核的策略。
龙芯选择的这条路,带来了两个问题:
一是英特尔从酷睿2开始另辟蹊径,在主频只增加了30%左右的情况下,通过提升微指令系统(也称为CPU架构)和中间件,在5年多的时间里实现了单核性能增加了5-10倍。由于英特尔有效地提升了单核性能,软件开发者一般不愿意做多核优化,龙芯运行这些软件的表现就更差了,多核优势完全停留在纸面上。
二是多核芯片的关键理论当时还处于突破和探索阶段。龙芯以超过市场主流的速度提升核数,必然要独立解决这些新问题,这就不利于发挥后发优势。和英特尔相比,龙芯最大的劣势是研发团队人数和研发资金完全不占优势。没有钱去做快速迭代,在“核大战”中势必不会取得好成绩。
龙芯3B1500就是一个典例,在市场上四核CPU价格尚且昂贵的情况下,龙芯拿出了八核CPU,但由于访存部件没有预见到带宽不够的问题,这个八核CPU在使用时不得不屏蔽两个核心,如果开启完整的八核心,在大多数情况下性能反而会有所下降。
2
多方求索
自主磨合
困境中的龙芯采取过渡路线,并向市场化进行转型。2010年后,龙芯团队转型成立公司,开始市场化运作。2014年前,在北京市政府牵头下,部分民营企业跟进,共对龙芯投入约2亿元。这段时间,龙芯经历了从样品到产品,从实验室到企业的过渡,初步完成了与市场的结合。
2010年4月21日,装配“龙芯3A”的国产万亿次高性能计算机。图|新华社
从2014年下半年开始,龙芯得到了国内最大的私募基金的资金投入。
没了资金后顾之忧,龙芯自主磨合软硬件,取得了一些成绩:
某大型数据库,处理相同的数据,原来用惠普的X86服务器,需要50分钟,而龙芯通过垂直磨合优化只需要80秒;
某雷达显控应用,海量目标场景下,X86商业CPU只能达到每秒10帧的速率,而使用龙芯CPU,经过应用开发单位联合龙芯公司的深度优化达到了每秒20帧;
……
这些事例充分说明了发展自主可控的信息产业是值得的,对国家安全和保障重大应用的成功意义重大。
龙芯之所以能在绝对性能并不强的情况下,应用表现超过X86的CPU,主要就是整体优化磨合的结果。而整体优化磨合的成本是很高的,一般只有局部优化磨合达不到性能要求时,才会考虑进行整体的磨合。苹果的一些软件确实也通过类似的方法,获取了比类似平台更高的性能,这背后都是由苹果用户真金白银推动的。
但龙芯并没有这样的资金优势,因此只能是一种过渡时期的方法。
在完成市场化转型之后,龙芯迅速提出了自主CPU的发展道路。
2019年,龙芯开始打“组合拳”,并迎来了巅峰。
*性能方面
龙芯收缩战线。一方面只做28nm和四核以节约资金,另一方面拼命提升单核性能。
从龙芯3A1000升级到3A3000,在主频只增加50%的情况下单核通用处理能力提升了近四倍。而3A3000升级到3A4000,又在主频只增加1/3的情况下,单核通用处理能力提升了一倍。龙芯的性能除了与主流芯片的主频差距外,其他差距已经不大了。
*资金方面
对于在3A3000面世之前,龙芯如何养活自己,龙芯选择做行业CPU。无论是北斗上的抗辐照CPU还是钻井用的CPU,甚至是显示屏、信号灯、电子水表和智能门禁所使用的芯片,龙芯都有对应的产品。这些产品支撑了龙芯的盈利,并支持了更高端CPU产品的研发。
*生态方面
对于如何建立自主生态的问题,龙芯认为想要建立自主生态,就必须有良好兼容性,这样才能吸引应用开发者为龙芯开发应用。
在这个问题上,龙芯有几位老师:
英特尔和AMD的经验告诉龙芯应该统一系统架构,避免一款CPU一种甚至几种主板,最好一种主板可使用多种CPU;
谷歌和微软的经验告诉龙芯,应该有稳定统一的应用接口,最好为一个版本开发的应用,在多数系统版本中都能用;
苹果的经验告诉龙芯,图形系统要以用户体验为核心进行梳理和优化。英特尔、AMD、苹果和英伟达告诉龙芯,必须要有好用的开发环境,要尽可能地减少迁移的成本和避免手动优化。
龙芯为促进生态发展采取的发展路线。
3
掌握核心
后发强劲
经过漫长的摸索和试错,2015年,龙芯继续保持50%以上的销售增长率,销售收入突破亿元大关,并实现盈利,实现了历史性的跨越。
2019年度再次实现高速增长,龙芯的合作伙伴已经增至近千家,其在政企、安全、金融、能源、交通、教育等各个应用场景中都有了诸多广泛的应用,净利润首次突破亿元。
2020年伊始,龙芯宣布要成立3A5000、3C5000、7A2000、2K2000、GPU、PCIE等六支突击队,作为全年的重点工作。
3A5000预备在主频只增加1/4的情况下,单核通用处理能力在3A4000的基础上提升50%。
从龙芯3A3000开始,龙芯的性能就超过了百元上下的Atom系列了,龙芯3A的价格一直稳定在同时代的酷睿i5附近,如果性能超过奔腾接近i3的水平,那么加上扶持自主CPU的考虑,我们认为龙芯此时就具备可讨论的市场性价比了。
3A5000让龙芯有望逐步达到这一期待。
3C5000是给中高端服务器预备的芯片,有十六核心。考虑到龙芯现在的单核性能比较优秀,这个产品在自主可控市场的竞争力非常强。
2K2000是预备为平板制作的芯片,其本身单核性能较强而价格并不昂贵,很可能成为普及龙芯的重要载体。
其中最神秘的是GPU团队。国内的自主桌面GPU芯片水平有待提高,很多GPU芯片还跑不满PCI通道,和国外5-10年前的主流产业依然有数量级的差异。龙芯的加入会不会改变战局,尚未可知。
除此之外,龙芯的生态建设在2020年传来了更多的好消息:
例如微软推出的软件开发框架.NET Core成功地向龙芯进行了移植。要知道这一框架虽然是开源的,但是并没有龙芯指令集(LoongArch)的版本,因此移植起来并不简单。这一框架的成功移植,将有望降低软件从Windows迁移到龙芯平台的成本。
与此同时,通过努力攻关,一些应用在虚拟机上的效率从88%提升到了98%以上,几乎和原生应用相当。当然某些特定应用的效率代表不了其他应用,但这一改进至少说明某些无法移植的应用在龙芯虚拟机上的效率增加了,这对繁荣龙芯的生态绝对是有好处的。
龙芯成立18年来,用有限的人力和财力研发了自己的指令集,设计了6个微结构,研发了自己的LCC编译器,开发了自己的社区操作系统Ioongnix。推出了几十款产品,涵盖装备芯片、宇航级芯片、服务器芯片、桌面芯片、嵌入式芯片以及这些芯片配套的软件生态。构建了一个涵盖两三百家企业、上万名技术人员的产业联盟。而这一切都是一支只有小几百人的研发团队完成的。
在2021年,龙芯还有一个商业上的好消息。根据证监会在1月披露的消息,国产CPU厂商龙芯中科拟在科创板上市,已启动上市辅导。
也许,我们很快就能看到具备市场竞争力的高频龙芯,填补国内空白。
4
基础软件
早期低水平重复
除了基础硬件,以通用操作系统为代表的基础软件,中国信息产业起步很早,但长期处于低水平的重复阶段。
中国人自主研发通用操作系统的历史,可以追溯到联想的Happy Linux(幸福之家操作系统),这是一个从Linux修改而来的、定位非常超前的操作系统。
联想在2001年末推出了最后一个Happy Linux版本,但直到2010年时笔者还看到有人在用这个系统。同时,目前所有的自主通用操作系统,几乎都使用Linux内核。
Happy Linux部分操作界面截图。
Happy Linux的成功,在于联想敏锐地察觉到电脑的主要使用人群由专业用户向大众转变的潮流。在Happy Linux里,有图形界面和丰富的可交互应用,有详尽的软件说明。相对于同一时代的Win98和DOS,简直像来自于另一个时代。
不过,Win XP诞生后,Happy Linux最大的比较优势消失了。一方面,公司决策者对保留一个在通用市场有竞争力的操作系统,没有足够的重视。另一方面,联想的基因就是“贸工技”,对操作系统的潜力缺乏想象,Happy Linux也无可避免地走向了消亡。
【注:“贸工技”即是指先做生意,实现一定的原始积累,求得生存,然后开发新技术、新产品,并进行销售,找到新的利润增长点。】
之后又涌现出了一大批中国的Linux发行版,从自主性上说,它们只是基于其他版本进行了微量修补,比如加入农历功能。并且,由于缺乏更新维护的力量,能够安装的软件少得多。
而Deepin Linux(深度操作系统)的开发改变了这种情况。
首先,Deepin Linux最主要的特色就是易用性。早期Deepin Linux的口号就是:“免除新手痛苦,节约老手时间”,更加符合中国用户的使用习惯。
其次,Deepin Linux是少有的非常注重关键应用的Linux发行版。目前国际上主流的Linux发行版的开发商基本上已经不会自己下场开发应用,这点和微软对Windows的作用是一致的,也符合信息产业专业分工的要求。
但是,对于自主的发行版而言,市场号召力不强,如果不自己下场进行应用开发,可能不会有第三方愿意为自主的操作系统开发应用。亲自下场开发应用,也有助于发现自主操作系统软件开发流程中的问题,为潜在的应用开发者降低开发门槛。
Deepin Linux团队先后自行开发了深度播放器、深度看图、深度截屏、深度软件商店等应用,又通过模拟器或者与其他软件企业合作的方式解决了在国产系统中使用输入法、聊天软件、炒股软件的问题。
5
深度操作系统
快车道发展
Deepin Linux并不是孤军奋战。
2019年11月,统信软件成立。这是一家由深度、中兴新支点、CEC、武汉诚迈等国内长期从事操作系统的公司组成的新企业,目标是“解决目前中国信息技术产业的问题,尤其是在基础软件领域受制于人的心腹之患,在未来信息技术领域的发展路径上要形成中国的话语权和优势”。
稍微早些时候,国产操作系统的两大品牌——天津麒麟和银河麒麟也宣布合并,成立了麒麟软件。
中国信息技术应用创新产业操作系统的双强格局就此奠定,将自主操作系统的重要性空前凸显。
2020年,中国自主基础软件行业步入发展的快车道。
首先,这一市场繁荣了自主操作系统的应用。今年有几十种热门国产应用向统信UOS操作系统进行了迁移。暂时没有原生版本的,应用软件企业也尽量和统信一起想办法,先让用户们用上虚拟机或者模拟出来的版本。
接着,应用的繁荣又扩大了自主操作系统的影响力。2019年,Deepin Linux获得了开源中国评选出的年度最受欢迎的中国开源软件。入围的名单中不乏阿里、腾讯、华为开发的大型软件,在这样的情况下Deepin Linux获得这一殊荣并不简单。
2020年,平均每天至少都有一项国产应用向龙芯和UOS的组合进行迁移,其中平均每月都有一项重量级的应用。这无疑是在美国制裁下中国IT产业在危机下迸发出来的巨大力量。
国产应用能够这么快地向自主CPU和自主操作系统进行迁移,说明自主CPU的基础开发做得好,C语言编译器、各种开发环境兼容度很高,龙芯甚至连微软的很多开发环境和软件都向本平台进行迁移。
中国自主信息产业大有可为,而且不得不为。总而言之,中国自主信息产业之所以能在严峻的外部条件下,迎来蓬勃发展的历史机遇,既有空前团结、抱团取暖的因素,又有相关厂商厚积薄发、久久为功的坚持。
另外,我们发展自主信息产业,必须充分结合应用、结合市场,如此,中国自主信息产业才能在变化多端的环境下不断前进。