原标题:华夏芯引领创新,基于统一指令集设计多种处理器
“当今世界,一些重要的科学问题和关键核心技术已经呈现出革命性突破的先兆。”“科技界要共同努力,树立强烈的创新自信,敢于质疑现有理论,勇于开拓新的方向……”
7年前,当国家主席发表上述讲话时,人工智能元年即将开启,芯片算力正成为重要的生产力。这一年,中国芯片进口额高达2313亿美元,自主知识产权芯片的“缺芯”之痛隐现。此前一年,全球异构系统架构(HSA)联盟成立。此后一年,一家名为华夏芯(北京)通用处理器技术有限公司(以下简称华夏芯)的中国企业成为该组织的成员之一。
2020年,世界处于百年未有之大变局中,逆全球化浪潮席卷全球,新冠肺炎疫情搅动世界。一方面中国已成为世界最大的芯片市场,但芯片自给率仅约12%;另一方面人工智能、5G、大数据等应用场景越来越丰富,对芯片算力提出更高的要求。这一切都指向芯片领域的一场酝酿中的“革命性突破”,而实现这一突破急需能向“传统”和“巨头”提出质疑的创新者。
如今,华夏芯已在异构计算领域耕耘六载,申报了100多项全球专利,搭建了自己的知识产权体系,填补了国产异构处理器领域的空白,也面对着“蚍蜉岂能撼树”的质疑。
华夏芯获选2020年度“五大中国创新IC设计公司”据此,《环球》杂志记者对华夏芯(北京)通用处理器有限公司董事长李科奕进行了专访。
一问:华夏芯是一家怎样的公司?
李科奕:在介绍华夏芯之前,我想先略述一下发展背景。在华夏芯之前,中国的高端处理器芯片公司要么基于海外公司已有的架构进行研发,要么通过获得知识产权(IP)授权来设计芯片。但华夏芯选择了自主创新之路,已拥有完全自主知识产权的中央处理器(CPU)、数字信号处理器(DSP)、通用图形处理器(GPGPU)和神经网络处理器(NPU)IP,作为国内最早从事异构计算研究的芯片公司之一,是创新的异构处理器IP提供商和芯片解决方案提供商。
此外,华夏芯在北京注册成立,公司员工来自全球8个不同国家,客户和合作伙伴覆盖中国和海外多国,是国际化的芯片公司。
二问:华夏芯为什么选择自研指令集?
李科奕:指令集是对异构处理器进行原始创新的基础,华夏芯的核心技术之一是其独创的名为“Unity”的“统一指令集架构”。
目前全球的十几套通用指令集中,除华夏芯的Unity指令集和美国的Risc-V指令集之外,其他都接近或超过了30年的历史,存在沉重的历史包袱,创新的空间受到限制。我在几年前曾参加一次高层的研讨会,会上国内最大的芯片设计公司提出,希望国家有关部门和ARM公司协商,让ARM增加一条指令。这一定程度上反映了在全世界授权量最大的指令集上,国内企业进行创新和改进的难度。
最近,很多人强烈要求中国商务部否决英伟达对ARM的收购,毕竟中国绝大部分国产芯片公司都依赖于ARM的IP授权,任何改变ARM独立性的举动,都可能对中国集成电路产业带来灾难性的风险。我认为,与其将命运交由别人掌控,不如身体力行,从自研指令集开始,构建完全属于自己的生态,走出自己的发展模式。
在这里还需要指出一个认识误区,经常有人说设计一个通用指令集不难,难的是如何构建生态。这句话更准确的表述是,模仿一个已有的通用指令集的设计不难,但是设计一个全新的、可构建强大商业生态的多功能通用指令集非常难。当然,构建生态更难。
四年之后,ARM再次从软银集团“转手”英伟达
三问:华夏芯自研指令集的创新性体现在哪里?
李科奕:基于对异构计算发展趋势的预判,华夏芯在公司成立之初就提出了用一套统一的指令集和工具链来支撑异构计算的构想。目前ARM等传统处理器IP设计公司都是采用不同的指令集来设计CPU、GPU、DSP等不同的计算单元。华夏芯采用新一代统一处理器架构设计理念和全新的指令集来支持异构计算,虽然距建立一个强大的生态还需时日,但多年的实践已经证明了基于统一指令集设计多种处理器的可行性和技术优势。
由于无历史包袱,华夏芯统一指令集的后发优势明显,在指令集设计上高度精简且规整,具有高可扩展性。通过采用基于同一指令集的IP,即使一个小规模的芯片设计团队也可以设计复杂的异构芯片,而且可以通过设计创新而非完全依赖新的工艺来提升计算性能,降低了芯片设计的投入;同时,用同一套基础工具链来支持异构的计算单元,避免了为每一类计算单元开发一套不同的工具链,减低了开发和维护工具链的成本。
四问:华夏芯的指令集需要与国际巨头同场竞技,能成功吗?
李科奕:确实有很多人对华夏芯的指令集持怀疑态度,因为在华夏芯之前还没有过成功案例。就像马斯克的SpaceX在起步阶段,也被首位登月的人类宇航员阿姆斯特朗质疑一样。
其实,一个新的指令集走向成功的先决条件是新兴应用和市场的发展对处理器指令集提出了新的要求。以ARM的成功为例,本世纪初,ARM很好地利用了英特尔的指令集不擅长低功耗处理技术的短板,抓住了智能终端的市场需求。今天,人工智能、5G通讯、边缘计算等新兴应用领域要求各种类型的处理器集成在一起并高效协同工作。这些应用领域,一方面对新的处理器架构提出了强烈的需求;另一方面,很多像物联网、无人驾驶、机器视觉等这样的单一应用场景对指令生态的要求不高,或者像赛灵思推出的自适应计算加速平台(ACAP)等新物种,属于全新的生态。
华夏芯不是在传统市场上与已经形成垄断的指令集进行争夺,而是在新兴应用需要新指令集的契机下,在全新赛道上比国际巨头更早地起跑。现在的华夏芯如同在黑暗中举烛衔光,但今天的烛光就是明天隧道尽头的光明。
就像20年前的通讯领域,谁也无法想象有哪一家中国的通讯产品公司能挑战并战胜摩托罗拉和诺基亚这样的国际巨头。中国已经是全球最大的芯片市场,在异构计算这一新的赛道出现由中国公司的指令集构建的生态,为什么不可能呢?
五问:华夏芯的异构计算与英特尔这类巨头相比有何不同?
李科奕:异构计算的使用面临两个主要的挑战。一个是编程开发极其复杂,另外就是异构计算需要解决碎片化生态的问题。最近,英特尔在业界率先针对不同的计算体系架构推出了统一的编程环境——OneAPI。华夏芯的Unity与OneAPI都是为了简化编程环境,但两者的实现方式和代价有显著的区别:
OneAPI是面向不同体系架构的统一编程环境;Unity是面向不同微架构的统一体系架构和统一编程环境;
OneAPI需要一个新的语言(DataParallel C++)来编程,而且只支持这一种语言;Unity支持常用的编程语言;
OneAPI在整合多个独立工具链的基础上又加了一层,其开发投入巨大;Unity就是一个工具链,比OneAPI简单很多,其开发成本也相应低很多。
基于华夏芯统一指令集的用户软件可以运行在组合了CPU、DSP、GPU的系统级芯片(SoC)上。由于采用一套统一和简化的编程开发环境进行应用开发,可以大幅降低异构编程开发的门槛,提升应用开发效率,减小开发团队规模,实现软件一次开发、多端部署。最重要的是,针对不同的碎片化的应用场景,可以构建一个统一、协同的异构计算生态。
英特尔在2020年12月发布的统一的、简化的异构架构编程模型——OneAPI六问:华夏芯的创新对于中国的集成电路产业有什么价值?
李科奕:据我们了解,华夏芯目前是中国唯一一家基于全自主指令集开发异构处理器的企业。从技术层面看,华夏芯倡导的异构计算路径是当下全球主要的热点技术之一,可有效缓冲不能使用先进工艺所带来的冲击。
采用先进工艺的投入越来越高,以台积电5纳米芯片工艺为例,一次流片的费用高达上亿元人民币。而芯片所面对的应用场景越来越碎片化,导致芯片的投入和产出越来越难以平衡。因此,对于中国甚至全世界的中小芯片企业来说,采用设计创新比采用工艺创新更可行,而目前主流的设计创新之一就是异构计算架构。
但是,随着芯片上不同种类计算单元的增加,不仅基于异构计算架构的芯片设计繁杂,而且编程开发的门槛很高。例如,有的人工智能(AI)计算首先需要在CPU或DSP上进行任务分割或者处理,然后在GPU或者AI加速器上进行目标识别,再将结果反馈到CPU进行下一轮计算。这就要求AI开发者须熟悉不同计算单元之间数据流的调度、交换和进行决策的机制。此外,每一个处理器平台不仅需要开发者维护独立的代码库,还需要使用不同的语言、库和软件工具进行编程。这些开发工作需要耗费大量人力、物力和时间,大大降低了开发速度、抑制了中小企业的创新能力,导致只有少数有实力和财力的巨头才可能推出异构架构的产品。华夏芯针对以上难题,开发了高效、简单、统一的芯片设计平台和应用开发平台,特别适合中小企业进行异构芯片设计和异构编程开发。
七问:华夏芯在人才、资金以及产品方面,如何与巨头抗衡?
李科奕:所有颠覆性的创新一定是由顶尖的人才团队实现的。大公司集中了很多高端人才,其用途往往不是颠覆自己,而是维护垄断地位。在巨头公司,人才是为现有的体系服务的,而在华夏芯,要做的正是打破现有的体系。
我们热爱创新,没有太多功利心,因热爱而奋斗。我们知道这个过程是艰难的,一开始就有思想准备,不会三五年就获得成功。我们的团队成员也都在这个领域里已坚持了很长时间。
我们核心团队的人才分布在中国、美国和欧洲等地,其中中国团队人数占90%以上,且承担了超过90%的任务。在人才资源以及资金投入规模上,华夏芯暂时还无法与巨头直接抗衡,我们的应对策略是,首先集中力量攻破核心点。华夏芯用不到巨头1%的人才资源和资金投入,经过6年多的时间来潜心钻研,实现了两个重大突破,一是研发了一套全自主的面向CPU、NPU、GPGPU和DSP的统一指令集,二是选择了几个CPU、NPU、GPGPU和DSP的设计点,用实际IP和产品验证了统一指令集的可行性和优势,积累了很多宝贵的经验,为后续爆发打下了坚实的基础。
华夏芯接下来的任务是连“点”成“线”,最后“多线成面”。随着华夏芯突破更多的“点”,并在机器视觉、边缘计算、5G通讯等应用领域形成完整的产品“线”,最终将和合作伙伴一起在CPU、NPU、GPU和DSP等异构生态构建上,通过积极建立生态联盟,充分发挥集体的智慧和群众的力量,实现全“面”的突破。
八问:华夏芯如何建立自己的生态系统?
李科奕:华夏芯和全球其他的处理器厂商一样,也会与高校、科研院所合作,进行推广,建立自己的开发者社区。华夏芯也会针对下游的大客户提供定制设计服务。此外,华夏芯一直以来都强调生态共建、资源共享(包括软件库的重用、共享)的战略发展定位。在合适的时候,华夏芯准备发起一个开源的异构计算联盟,鼓励大家利用华夏芯的“统一指令集架构”共同开发产品和应用。需要指出的是,基于华夏芯统一指令集的芯片,虽然底层微架构是随着应用场景的不同而差异化的,但上层的软件生态是统一的。华夏芯及开发者社区会提供一个统一的开发环境,包括丰富的编程模型、软件库、开发工具等软件堆栈,支持下游的开发商开发不同的终端产品和方案。
另外,华夏芯支持全球异构系统架构(HSA)联盟的标准,在SoC中,除华夏芯的IP核之外,也可以同时集成其他厂商(譬如ARM)的IP核,这样对于生态属性比较强的应用场景,华夏芯也有机会切入其中,只不过芯片设计和应用编程复杂一些。华夏芯目前担任HSA联盟的主席,并将HSA引入到了中国。HSA设计了一套免版税的开放式应用程序编程接口(API),针对不同的指令架构,HSA的API提供支持python、C++等多种语言的统一编程环境,在一定程度上也实现了异构计算平台上对程序员的友好编程,虽然效率不如华夏芯的技术路径。
九问:华夏芯的产品有哪些,主要应用场景在哪?
李科奕:华夏芯完全是自己原创的技术,用相比于竞争对手更短的时间和更少的投入,初步形成了一套支持多类别计算单元的异构计算IP平台,到目前为止华夏芯已申请了100多项国际专利,研发了面向中高端处理器的多款CPU核、神经网络处理器(NPU)核、通用图形处理器(GPGPU)核和DSP核。此外,还研发了现场可编程门阵列芯片(FPGA)上AI VHDL(一种用于电路设计的高级语言)的自动生成工具等IP。
华夏芯的异构计算IP平台就像一个“地基”,在目前阶段,我们不仅要打地基,还要盖楼、做样板间,给客户提供良好的用户体验。除我们的IP核已经开始对外授权外,华夏芯的人工智能芯片和解决方案目前覆盖了机器视觉、智能物联网、机器人、智慧物流、智能制造等多个应用领域。
华夏芯基于自主64位CPU和NPU等IP核的人工智能芯片十问:华夏芯所做的创新,挑战巨大,这类事业为何不是由那些大型公司来承担?
李科奕:首先,结合历史规律来观察,包括芯片在内的全世界硬科技的发展,就是一个不断创新、挑战垄断的过程。今天我们看到的先进计算领域的颠覆性创新,大部分是由挑战者完成的。通常,巨头处于食物链的高端,他们在意的是如何维持食物链的次序,而不是自我革命。比方说,ARM最高端的授权,仅交给苹果、三星、高通等少量能支付得起这一授权费用的公司,允许被授权的公司在ARM的基础上进行优化;其他小一些的公司则不被允许;再小一些的公司获得的ARM授权可能是上一代的架构。
但是,正如数字成像的出现,导致了传统的胶卷巨头柯达的覆灭;SpaceX的成功,取代了相当一部分美国国家航空航天局(NASA)的功能;特斯拉的崛起,让传统化石能源汽车的巨头们相形见绌。这些成功挑战巨头的案例背后都有一个共同的路径——由新兴企业通过原创性的技术,用完全不同的技术路径颠覆了巨头所掌控的技术体系,从而影响了整个行业发展的走向,这一类创新我们称之为原始引领型创新。一个真正的原始引领型创新具有三个关键共性:比被它替代的技术有明显的优势,让采用新技术的企业效率更高,以及对社会产生革命性的影响。
因此,中国的芯片产业更需要鼓励那些新赛道中从零到一的引领型创新,才有可能在先进计算领域打破垄断,走出自己的发展道路,赢得产业发展上的主导权和国际竞争中的主动权。最近国家相关部门已经出台了相关指导性政策,相信包括华夏芯这样从事引领型创新的芯片设计公司会获得更多的支持。我们也在与相关单位积极沟通,让大家了解华夏芯的技术,相信今后会有越来越多的人发现华夏芯技术的价值,和我们一起参与和见证中国芯片异军突起的历史性时刻。