CSDN|软件对于英特尔意味着什么?


CSDN|软件对于英特尔意味着什么?
本文插图
头图 | CSDN 下载自东方 IC 出品 | CSDN(ID:CSDNnews) 在芯片的世纪变迁中 , 有一家公司 , 栉风沐雨 50 载;其创始人提出的一个定律 , 推动了半个世纪的技术变革 , 也让自身一直保持迅猛发展的势头 。 微软公司联合创始人比尔·盖茨高度评价道 , 它是「芯片之王以及世界最有价值的公司之一」 。
其实 , 不难猜 , 它就是英特尔 。
作为一个技术型公司 , 从 1968 年存储器芯片起家 , 到 CPU、板卡、硬件设备的开疆拓土 , 如今英特尔在成为芯片巨头的同时 , 也拿下了全球 PC 处理器市场的半壁江山 , 一路成长与改变 , 英特尔为我们带来的惊喜显而易见 。 不过 , 对于已辉煌了半个世纪的英特尔而言 , 在下一征途中 , 再多的 CPU 市场份额于自身意义也不大 , 这也是为什么英特尔 CEO 鲍勃·斯旺曾表示「专注于 90% 的 CPU 市场份额是英特尔错失转型的一个原因 , 让英特尔成为一个超越 CPU 的公司才是英特尔的未来目标」的主要原因 , 而这一点恰恰也与英特尔创始人戈登·摩尔最爱说的口头禅「改变是我们终身的热爱」不谋而合 。
曾经移动革命遗憾收场 , 以及时下芯片从 22nm-14nm-10nm 以及未来的 7nm 工艺研发之路已趋近于极限之际 , 想要成为一家超越 CPU 而存在的英特尔 , 下一步究竟该如何走?改变又该从何处开始?这不仅仅是英特尔需要思考的难题 , 也是业界尤为关注的重点 。
万众瞩目之下 , 英特尔并没有让大家等待太久 。 2018 年年底 , 英特尔官方正式向业界宣布了最新战略目标 , 以制程和封装、架构、内存和存储、互连、安全、软件六大技术支柱核心 , 从“PC 为中心”的战略转舵 , 驶向“以数据为中心”的浩瀚大海 。
从硬件的升级到软件的探索 , 我们不禁好奇 , 硬件公司做软件 , 且将软件作为公司的核心一环 , 他们究竟是在做什么?而这又是一种怎样的体验?值此之际 , CSDN 独家专访到了英特尔架构、图形和软件集团副总裁兼中国区总经理谢晓清 , 在本文中 , 我们将从不为众人所熟知的英特尔软件出发 , 基于企业战略、软件工具、人才培养的维度 , 揭晓英特尔的软件“硬核”实力 。
英特尔的软件再进化
事实上 , 对于软件的研究与研发 , 英特尔并非一时兴起将其作为技术支柱核心之一 。 而在详述之前 , 有一个不得不提的地方 。 除去在美国硅谷核心地带高楼耸立的英特尔总部之外 , 英特尔在中国这片土地上早于 2005 年就已建设了一处“秘密基地”——英特尔亚太研发中心 , 位于高校环绕的上海紫竹科技园区 。
这与英特尔中国研究院的定位有所不同 , 英特尔亚太研发中心主要侧重于将英特尔的技术与市场需求相结合 , 对此 , 谢晓清表示 , 英特尔亚太研发中心的前身是 1993 年在上海漕河泾成立的“英特尔中国架构开发实验室” , 如今已有 2300 名工程师 , 目前主要以软件为主 , 除此之外 , 也覆盖存储、网络、IAGS、数据中心等业务 。
英特尔之所以将软件看得尤为重要 , 谢晓清表示 , 在海量数据呈指数级增长趋势下 , 英特尔在技术上需要有同样的发展速度来与时俱进 。 英特尔不仅有传统的 CPU、GPU , 以及 AI 加速、神经网络处理等单元 , 同时还有 FPGA......整体而言 , 硬件架构的多元化使得普通软件开发者在开发时困难重重 。 英特尔作为一个系统提供者 , 想要将硬件的计算性能彻底释放出来 , 其实需要在系统软件层面上进行一些全面的智能性优化 。 同时 , 英特尔可以通过软件带来指数级的性能提升 。
释放 SVMS 架构性能 , 统一跨架构编程模型 oneAPI 应运而生
在过往的多年间 , 经常被大家忽略的软件层面 , 英特尔不仅持续地提供了各种产品化的软件工具 , 也带来了众多的 SDK、API 库等等 。 另外 , 在开源领域 , 英特尔拥抱开源也已有 20 年有余 , 且在 GitHub 有近 700 个 repository 。
CSDN|软件对于英特尔意味着什么?
本文插图
从软件研发角度来看 , 当 AI 计算迈入超异构时代时 , 软件更多的是基于跨平台开发 。 对此 , 谢晓清表示 , 只有通过跨平台才能够来简化应用程序开发者面向标量、矢量、矩阵、空间等多种架构的软件开发工作 , 且英特尔想要把复杂性包装在整个系统软件栈下面 。
基于此 , 在多架构、多功能芯片的超异构计算中 , 2019 年英特尔推出了令业界惊叹的统一跨架构编程模型 oneAPI 。 oneAPI 的到来可以高效帮助开发者简化异构编程的流程 , 在性能方面能够最大程度地加速 , 提高生产力 。 这一点也从于去年年底发布的 Beta 版本中得到了验证 。
oneAPI 架构解析
基于 Beta 版 , 我们发现 , oneAPI 包含了两个重要部分 , 一是跨架构的编程语言 Data Parallel C++(下文简称 DPC++) 。 它是英特尔全新开发的编程语言 , 而之所以开发最新的编程语言 , 谢晓清解释道 , 主要有两个层面考量:

  • 跨架构
oneAPI 平台的到来 , 它不仅仅是对英特尔的平台适用 , 对于所有愿意采用 oneAPI 规范的硬件厂商也可以完全按照 oneAPI 规范开发他们的编译器 。 由此 , 从并行开发的角度来看 , 基于 DPC++ 所开发的软件可实现跑在英特尔 CPU 的上 , 也能够部分跑在其他硬件厂商 GPU、AI、FPGA 上 , 且完全把计算独立到并行计算方式当中 。
  • 高性能
在性能方面 , 英特尔投资 C++ 编译器已有多年时间 , 最新的编程语言 DPC++ 是基于底层虚拟机 LLVM 格式进行开发的 。 正是因为有着多年 C++ 编译器经验积累 , DPC++ 支持英特尔多种矢量化编程技术 。 在最新的 Beta 版中 , 该语言的性能已经超越 OpenCL 的性能 , 类似于现在标准的 CPU 优化版本 。
同时 , 不同的硬件架构能够保证它是完全开放的 , 现在 oneAPI 的实现在英特尔平台上可以达到性能的最优化 , 这一点也保证了 DPC++ 与其他语言相比有非常大的技术优势 。
除了语言之外 , 正如上文所述 , 英特尔希望 DPC++ 是开放的 , 且 DPC++ 是建立在国际标准上的 , 对此 , 谢晓清表示 , 英特尔也发布了一些开放式规范与完整的扩展文档 , DPC++ 的大部分源码也在 GitHub 上开放(https://github.com/intel/llvm/tree/sycl/sycl) 。
开发者上手 oneAPI 指南
在编程模式上 , oneAPI支持 DPC++ 直接编程和基于 API 编程 。
对于开发者而言 , 想要上手 DPC++ , 其实没那么难 。 一方面 , DPC++ 语言本身非常接近于 C++ , 也比较接近 NVIDIA 的 CUDA 。 如果有 C++ 或 CUDA 相关开发经验的程序员 , 其学习曲线相对比较平缓 。
此外 , 谢晓清表示 , 在 oneAPI Beta 中也包含了大量工具来帮助开发人员更好地进行代码迁移 。
CSDN|软件对于英特尔意味着什么?
本文插图
相较于 DPC++ 直接编程 , 另一种基于 API 编程模式对于开发者来说 , 或更加友好 。 “他们可以简单利用英特尔提供的函数库接口就可以了” , 谢晓清说道 。 正如上图所示 , 这些函数库也包含了通用的 DPC++ 函数库、大量的数据计算库、多线程计算库、多媒体函数库、人工智能神经网络计算库等等 。 此外 , 英特尔基于此也提供了针对 AI 框架软件的优化 , 如 TensorFlow、PyTorch 等 。
「有了这些工具 , 开发者在英特尔的 CPU、GPU、FPGA 或是 AI 芯片中可以做到工作负载的自动加速 , 其代码在英特尔下一代产品上也可以百分之百得到兼容」 , 谢晓清如是说 。
【CSDN|软件对于英特尔意味着什么?】
oneAPI 机与遇
对于业界及开发者来说 , 欲善其事 , 必利其器 , oneAPI 的成功落地无疑是一款能够帮助大家提高生产效率的优秀工具 。 不过 , 在这款极具时代意义的工具背后 , oneAPI 的研发也经过了多重的挑战 。
当谈及这一点时 , 谢晓清表示 , oneAPI 作为英特尔软件战略的一部分 , 在 AI 飞速的发展趋势下 , 面临的首要挑战就是架构多元化及碎片化的挑战 , 这也是 oneAPI 想要解决的问题 , 而这一问题不仅是英特尔遇到的 , 也是整个业界都面临的挑战 。
其次 , 如何在完成兼容性的同时保证性能 , 这也是一个很大的挑战 。 相对于函数库部分 , 谢晓清认为难度略低一些 , 对此 , 她表示这一块主要是接口统一的问题 , 若接口统一之后就可以针对不同的硬件架构来使用相同的代码 , 就能够保证性能 。 不过 , 在语言上 , 实现较难 , 这也是英特尔当前着重投入的方面之一 。
时下 , oneAPI 继去年发布 Beta 版本之后 , 以每六周为周期进行版本迭代 , 截止目前 , 已有 35 家+ 公司及研究组织支持 oneAPI, 其中包含高性能计算的领导公司、硬件供应商、传统的 OEM、SIV 等 。
CSDN|软件对于英特尔意味着什么?
本文插图
而在今年年底 , 我们也将会看到 oneAPI 正式版的到来 。
「硬中有软 , 软中带钢」 , 开发者该如何适应瞬息万变的时代?
在有了效率利器加身之后 , 开发者又该如何在时代的浪潮中站稳脚步?
所谓天下武功 , 唯快不破 。 无论是 Java、Python 等主流编程语言的迭代 , 还是芯片研发的进程 , 我们所处的科技圈中一直在不停歇地运转 , 而作为这个时代最为敏感的开发者 , 顺应万变的潮流也成为必备技能之一 。
在这一过程中 , 英特尔对于开发者而言 , 从硬件到软件的深度拥抱无疑也带来福音 , 对此 , 谢晓清表示 , 时下技术开发者能够拥抱一些时代的变化 ,
  • 在技术趋势方面 , 开发者要学会做到引导技术趋势 , 并且把握先机;
  • 在软件层面上 , 英特尔也希望在 oneAPI 等新兴的框架之下 , 帮助越来越多的开发者跟进新的开发接口的学习 , 提高效率与性能及软件的可移植性;
  • 在开发者自身发展中 , 大家学到的东西能够在未来 5 年甚至更长的时间能够打好基础 。
除了以上 , 在英特尔扎根中国的多年间 , 于 1999 年从清华博士毕业 , 作为应届生加入英特尔的谢晓清 , 其个人的成长和英特尔在中国的发展壮大基本上是并行的发展方向 。 在进阶过程中 , 谢晓清说道 , 「有很好的一点就是有机会与很多比我聪明得多的人在一起工作 , 因为很多的工程师思维都非常活跃 , 使得我自己能一直接触比较深的技术层面 , 不会脱离这些技术 , 技术视野也是比较宽的 , 这个很大程度是得益于我能够有机会跟他们进行日常和工作中的沟通」 。
对于其自身而言 , 从移动端、嵌入式研发、云、边缘计算等不同领域的学习与研究 , 谢晓清表示 , 我们需要一直跟着时代的潮流向前走 。
最后
毕竟 , 一切过往 , 皆为序章 。
也正是不拘泥于过去 , 英特尔最新的财报向众人展示了其“以 PC 为中心”向“以数据为中心”的转型之路再次获得成功 , 未来在高新技术蓬勃发展之下 , 谢晓清表示 , 英特尔也将秉持「创造改变世界的技术 , 造福地球上每一个人」的宏旨 , 希望在数据的领域当中成为可以信赖的性能领导者 。
曾经摩尔定律照耀英特尔辉煌 50 年 , 而在这个世纪的下半场 , 对于深度拥抱软件 , 以数据为中心的英特尔 , 我们同样期待 。


    推荐阅读