英特尔凭借高性能CPU和先进的半导体工艺被大部分人所熟知,不过如今火热的AI正让越来越多的人意识到软件以及软硬更好结合的重要性。作为一家以硬件见长的公司,英特尔在8个月前发表声明表示,对于全新硬件架构的每一个数量级的性能提升潜力,软件能带来超过两个数量级的性能提升。这是一个非常值得关注的声明和转变。
在本周的2019英特尔开源技术峰会(OSTS) 上,英特尔公司高级副总裁兼架构、图形与软件部门总经理Raja Koduri第一次对投资者谈论英特尔的软件,这也被他成为英特尔另一个不为人知的秘密。
英特尔公司高级副总裁兼架构、图形与软件部门总经理Raja Koduri
英特尔OSTS源自2004年英特尔内部的一次会议,当时只有几十个英特尔的工程师参加,2019年的峰会的规模扩大到了500人,也是最开放的一届,阿里、亚马逊、谷歌、华为、微软、京东、AT&T等巨头的高管都参与其中。
Raja Koduri是如何谈论英特尔另一个不为人知的秘密?
AI时代软硬件结合为何更加重要?
在谈论英特尔的软件之前,我们先聊聊软硬件的结合。回顾过去35年到40年的计算发展历程,计算力在以惊人的速度增长。这期间我们也经历了一些基础性的变化,比如万物数字化、万物互联、万物移动化、万物云化。并且,每一个基础性转变背后也伴随着软硬件结合的变迁。
互联网时代PC作为主要的硬件载体,其软硬件结合的典型就是x86架构和Windows系统。从PC时代的10亿用户增长到移动互联网时代的100亿用户,移动时代的主导又变为了Arm架构和iOS及Android操作系统的结合,当然Linux系统和x86平台也占据一部分市场。
如今,大家在谈论规模将达1000亿台设备的下一个时代,很难预测什么样的架构和软件的结合会成为主流。但可以明确的是在软硬件的结合中,软件正在发挥越来越重要的价值。
这其中很重要的原因就是摩尔定律的放缓,靠工艺制程带来硬件性能的大幅提升正变得越来越难。但前线的架构师可能会说:“我们需要更多的晶体管。如果不作出改变,我们是无法使所有工作负载都快速运行的。”
Raja Koduri在2019英特尔开源技术峰会上的演讲中指出,计算速度的增加想有指数级的增长,那就必须要硬件和软件来共同创新。软件社区和硬件社区相互交流,并真正去思考彼此的问题,这比以往任何时候都更重要。
强调AI时代软件将发挥更重要作用的不止是英特尔。Arm机器学习部门商业与市场副总裁Dennis Laudick去年11月接受雷锋网专访时指出:“软件才是AI处理器中更关键的部分,软件生态系统是Arm成功的关键所在,这也是Arm过去20年已经做的事情。近两年的AI热潮会对软件行业带来革命性的变化,因为传统的软件在概率判断,评估猜测方面有一些局限性,AI对概率判断的准确度和猜测的准确度上有其特点,AI将让软件进入2.0的时代。”
CEVA营销副总裁Moshe Sheier去年也对雷锋网表示,AI还处于一个早期的阶段,现在各家的AI处理器IP在SoC中所占的面积都不小,而人工智能还在不断演进中,未来算法和设计的改进会持续带来AI技术的更新。如何延长产品的周期更好地适应OEM厂商不断变化的需求非常关键,这时软件的作用尤为明显,能够通过软硬结合不断适应技术变化和提高效率的AI方案对产品落地非常重要。
软件到底能带来多大幅度提升?
那么软件到底能带来多大程度的提升?Raja Koduri举了三个例子。第一个例子是从JDK8到JDK9, Java生态系统中实现了巨大的性能提升。英特尔的工程师们为客户和开发者将现有硬件的性能提升了6倍。如果从硬件的角度来看,这相当于是在一次软件发布中就实现了数代的硬件性能提升。
第二个例子是内存方面,原始硬件本身极具局限性,但如果将其与英特尔的内存层级架构相结合,再加上他们在软件栈方面的领先技术,就能将工作负载的性能提升8倍。同样,这也相当于数代的硬件性能提升。
第三个例子是深度学习方面,利用DL Boost等架构扩展,在过去12至18个月释放了英特尔CPU潜能。从Skylake升级至Cascade Lake,相比上一代硬件提速28倍。
Arm同样凭借软件带来了非常显著的提升,Dennis Laudick表示:“Arm的AI处理器是一个异构的系统,其中包含CPU、GPU、NPU等,但作为IP核想要实现更好的可配置性软件体系非常重要。在硬件之上有我们特别优化的Compute Library,它会把底层的硬件和驱动进行充分优化,根据算子的不同需求驱动硬件,可以提升几倍到十几倍的效率。”
硬件霸主的软件秘密
Raja Koduri演讲时表示:“在为这个演讲做准备时,我与英特尔负责软件的主管们进行了座谈,听取他们对我本次演讲内容的反馈。有趣的是,他们的第一反应是,这好像是我们第一次对投资者谈论软件,其中有些人已经在英特尔工作了25年以上。”
他也认为,软件给英特尔带来的独特竞争优势是一个不为人知的秘密。
“英特尔产品带来的软硬件结合的差异化优势常常被低估。其他公司的产品性能哪怕仅提高了10%,也会被拿来大做文章,而我们在每个核心的性能提高了10倍,网络性能提高了2倍,Java提高了2倍。” Raja Koduri表示。
一个值得关注的数字是,硬件巨头英特尔拥有超过15000名软件工程师,并且是多个软件开源社区最重要的贡献者。据介绍,英特尔是Linux Kernel的最大贡献者,每年会修改或编写50万行代码,优化了超过100个操作系统;也是Chromium OS的三大贡献者之一,在软件方面拥有超过10000个高度定制化客户部署;还是OpenStack的十大贡献者之一。
另外,英特尔拥有一个超过1200万开发者的生态系统。Raja Koduri说:“英特尔的软件生态规模很大,横跨开发者、基础设施客户、网络、操作系统开发者、英特尔开发的工具和SDK,影响了大量标准组织,高度定制化客户,以及我们在物联网和边缘计算上的布局等,这简直不可思议。”
英特尔正在从晶体管为中心到数据为中心转型,也在去年提出了英特尔的六大技术支柱——制程、架构、内存、互连、安全、软件。这六个技术支柱环环嵌套,通过超异构计算,英特尔可以集成不同架构、不同制程、3D封装、互连和OneAPI等技术创新,能够为客户提供更多的灵活性和更快的产品上市时间,全方位推动计算创新发展。
当然,这也是英特尔未来创新的驱动力。
英特尔GPU以及AI的软件策略
Raja Koduri表示:“去年我们公布了自己的愿景,未来将是标量、矢量、矩阵和空间的多种架构组合,部署在CPU、GPU、FPGA和加速器套件之中。我们正在如期执行这一计划。我们拥有多个架构,多个内存层级架构和互连层级架构。架构路线图已经准备好,这样就可以在硬件产品路线图中覆盖到GPU和AI开发者。”
从架构与开发者生态与竞争对手对比。英伟达的开发者生态系统规模适中,但是仅围绕着一个单一架构。并且他们没有内存策略,看起来英伟达正在尝试建立互联策略,英伟达在今年3月宣布以69亿美元收购Mellanox。
AMD有两个架构,但也没有内存或互连策略,而且AMD的开发者生态系统的规模也不大。
Raja Koduri指出,中间这个圆圈里的策略和潜力只能让你走这么远。他引用了Murthy的话,真正的挑战是如何将我们的软件策略从一个架构扩展到四个架构。
为此,英特尔给自己设定了三个目标。第一个目标是简便和可扩展的,英特尔希望他们的软件让开发者易于使用,而且不仅可以扩展到所有的架构,更可以扩展到所有的操作系统。第二个目标是开放性,致力于向所有人开放标准。第三个目标是必须提供统一的开发体验,有时跟英特尔合作像是在与十家不同的公司合作,他们要解决这个问题。
为了实现这些目标,英特尔已经投入了一年多,在内部称为oneAPI项目。Raja Koduri高兴地宣布,oneAPI项目将在2019年第四季度之前如期交付给开发者。
雷锋网还了解到,英特尔在开源技术峰会上还公布了一系列最新进展,包括适应英特尔架构的核心基础设施现代化、为开发者和合作伙伴提升英特尔基于Linux的解决方案、在汽车和工业自动化领域实现新应用。
雷锋网小结
PC时代和移动互联网时代的主流架构无疑是x86和Arm,无论是英特尔和Arm都公开地表示软件是他们独特的竞争优势。对于英特尔这家以硬件著称的公司,公开地谈论自己在软件领域的实力确实也让我们能够更清楚地看到他们在摩尔定律放缓之下能够继续保持竞争力和创新的关键所在。相信也有不少人此前没有意识到英特尔在软件和开发者生态方面的实力。
硬件架构的完善以及软件oneAPI能力,决定着英特尔在AI和数据时代竞争力。
AI芯片市场已经吸引了不少巨头和初创公司的入局,2019年,在摩尔定律放缓的背景下,内存墙的问题更加明显,同时,AI技术的进步以及资本寒冬让AI芯片的落地更显关键。CCF-GAIR 2019 AI芯片专场将邀请学术专家解读AI芯片的发展趋势,芯片产业链上的不同企业也将共同探讨AI芯片发展的最新动态。详情参见活动链接:https://gair.leiphone.com/gair/gair2019
相关文章:
英特尔“无缝”双GPU X2暂定2020年6月31日发布,性能令人惊叹