英特尔用oneAPI软件策略,面对异构挑战

  回顾过去 35 到 40 年间计算的发展历程,计算力的增加速率呈指数级上升,从万物数字化、万物互联、万物移动化到万物云化,当前进入万物智能化。
  在 PC 时代,互联网用户增加了十亿人。硬件和软件结合的典型例子就是 PC 上 X86 架构和 Windows 系统的结合。
  进入移动化时代,从 10 亿的互联网用户增加到 100 亿的设备,呈现 10 倍的增加。硬件和软件的结合也发生了变化,变成了 ARM 架构和 iOS 及 Android 操做系统,同时 Linux 系统和 X86 平台也占据一部分市场。从 10 亿到 100 亿,实现的是指数级的增加。
  以往 CPU、GPU、FPGA 等,都可以独当一面。而当下,传统的通用架构已远不能知足需求。CPU、GPU、FPGA 甚至 AI 加速器等多种架构之间组合,方能招架得住处理数据密集型、复杂的工做负载。将来,这种异构计算将成为常态。
  当前,不论是 CPU、GPU、FPGA 等哪个硬件平台每每都须要开发者维护独立的代码库,这些代码库须要使用不一样的语言、库和软件工具进行编程。这是一项极其复杂和耗费时间的工做,大大下降开发速度、抑制创新。
  具体而言,异构计算使得一个用户可能在同一个数据中内心既须要 CPU 里作虚拟机,又须要 FPGA 来作各类解压缩或者加速器,还须要 GPU 来作深度学习或者人工智能。这就须要在数据中内心安各类各样的硬件,跑各类各样的软件。若是仍是各自为政的话,对于用户来讲,就算应用未来要扩容、硬件平台未来要升级,都是成本很高的一件事。甚至此前作的都全白作了。
  为了解决这一难题,oneAPI 应运而生。oneAPI 是一个以开发者为中心的平台,简化多架构编程的一个统一编程模型,开发者能够自由选择架构,大大下降了使用不一样的代码库、编程语言、编程工具和工做流程所带来的复杂性。oneAPI 采用统1、简化的语言和函数库,用于表达并行化,且基于行业标准和开放式规范,可以与现有 HPC 编程模型互操做。
  oneAPI 包括了一项基于开放规范的行业计划和一款 beta 产品。该规范包括一种编程语言、强大的 API 函数库以及底层硬件接口。oneAPI beta 产品为开发者提供了全套的开发工具,包括编译器、编程库、分析器等,并把这些工具封装为特定领域的工具包。初期 oneAPI beta 版主要面向英特尔 至强可扩展处理器、带集成显卡的英特尔酷睿处理器,以及英特尔 FPGA,将来还将支持更多硬件。
  oneAPI 将实现与现有行业标准的互操做性。oneAPI 开放式规范包括一种跨架构的编程语言 Data Parallel C++ (DPC++)、一套用于 API 编程的函数库以及底层硬件接口(oneAPI Level Zero)。有了这些组件,英特尔和其余企业就能建立他们本身的 oneAPI 实现来支持本身的产品,或基于 oneAPI 进行新产品开发。
  oneAPI 规范是为支持来自多个厂商的各类 CPU 和加速器而设计的。oneAPI beta 版目前支持英特尔 CPU(英特尔至强 、酷睿 、凌动)、英特尔 Arria FPGA 以及做为将来独立数据中心 GPU 代理开发平台的第九代/英特尔核芯显卡。oneAPI 往后将支持更多英特尔加速器架构。
  DPC++是基于大众熟悉的C和 C++ 语言,专门为 oneAPI 设计的主要编程语言。它融合了来自 Kronos Group 的 SYCL*,从而能够支持跨 CPU 和加速器上的数据并行和异构编程,目的是为了简化编程以及提升代码在不一样硬件上的可重用性,同时能根据特定的加速器进行调优。
  DPC++语言加强将会经过一个开发者社区项目来进行扩展,以简化数据并行编程。该项目向公众开放,并将经过开发者们的共同努力不断发展。
  目前,不少库和组件已经开源或即将开源。英特尔一位工程师指出:“开发者有想法能够去作扩展,这对开发者来说是没有太大阻碍的。第二个层面,咱们作这个目的是由于后面计算会比较复杂,由于你可能有 AI 的应用,有后面更多的跨架构/跨平台的应用,还有各类框架上的支持,这些都是依赖于开发者对 oneAPI 的支持或者以后的发展,应该说自己它是一个发展的平台,它不是固定不变的东西。英特尔开了一个很重要的头,也投了大量的人力和物力,后面要作的话应该是开发者共同和咱们一块儿把这个东西往前推的过程。”
  用一个形象的比方,不一样架构的选择如同是“自助餐”,有各类各样的菜,能够自由组合,想吃沙拉就吃沙拉,想吃红烧肉也能够。此前一些企业提供的方案是封闭性的,有的公司只供红烧肉,有的公司专门作沙拉。而有了 oneAPI 的支持,企业客户才可以更灵活的选择各类架构进行任意组合,oneAPI 是经过软件来帮助实现硬件灵活组合的愿景。
  <strong>2、OneAPI 是英特尔软硬结合软件为先战略中的重要一步</strong>
  如今数据量极其庞大,已经远远超出了在一台计算机上就能够彻底处理的承载和能力,必需要清楚如何应对这些没法放进一台计算机的大规模数据的处理方式,这是巨大的机会。接下来面临的挑战是,如何将性能提高十倍、百倍,而并非简单的提高 10% 的问题。
  英特尔首席架构师 Raja Koduri 认为,摩尔定律将持续给咱们带来很是好的性能提高;而经过软件和硬件的结合,可让摩尔定律的提高变成十倍。由于摩尔定律会带来更多的晶体管,而软件能够将愈来愈多的晶体管的极致性能释放出来。将软件和硬件结合就是英特尔的战略重点,这也是将来面临的很是巨大的机会。
  英特尔认为,对于全新硬件架构的每个数量级的性能提高潜力,软件能带来两个数量级的性能提高。英特尔首席架构师 Raja Koduri 表示: “经过软件优化,能够给 Java 带来 6 倍的性能提高,给持久性内存带来 8 倍的性能升级,在 AI 领域带来 28 倍的性能提高,因此它的性能提高空间是很是大的,并且这仅仅是在同一款硬件上经过软件就能够作到的。”为此,2018 年 12 月英特尔“架构日”活动上提出六大技术支柱战略,即:制程和封装、架构、内存和存储、互连、安全、软件。
  “软件是英特尔的一项重要战略资产,英特尔将经过软件业务来充分释放公司的总体增加潜力。英特尔但愿经过在整个开源生态系统中的协做,来推进面向以数据为中心时代的产品和服务创新。” 英特尔公司副总裁兼系统软件产品部门总经理苏义德曾强调。
  英特尔拥有一个 1200 万活跃开发者的生态系统,横跨 PC、网络和数据中心。无论客户有高性能的要求仍是有低功耗要求,或者是对成本比较敏感,英特尔都有完整的产品线能够对应用户的不一样需求。英特尔但愿能够实现一个很是简化的流程,经过一个统一的软件栈,一个统一的 API 就能够适应客户全部的从性能、功耗到成本上的优化需求。
  在软硬结合软件为先的战略中,英特尔在“架构日”活动上同时宣布推出“oneAPI”项目,面向多元化计算时代。该项目包括一个全面、统一的开发工具组合,以将软件匹配到能最大程度加速软件代码的硬件上。
  “绝大多数 AI 算法的演进和创新都是在更偏上层来完成的,咱们但愿在底层就作好助力和驱动。同时,咱们也会不断优化 oneAPI。这样,将来任何编程人员不论是他们想将硬件性能提高 10%、20% 甚至 50%,均可以在这个框架上轻松实现,而不须要再本身编写语言。” Raja Koduri 表示。
  2019 年 11 月正式发布了 oneAPI 公开发行版本。oneAPI 包括了一项基于开放规范的行业计划和一款 beta 产品。
  英特尔指出,oneAPI 不是一个全新的东西,它是以前几十年的积累上面作了一个扩展。基于如今工做负载愈来愈复杂,作这样的扩展是很是合情合理的一件事情。从如今总体来看,不管是开发效率仍是实际的产品运营效率,均可以从中受益。
  <strong>3、oneAPI 重在培育生态系统与伙伴共同拥抱数据时代</strong>
  在设计 oneAPI 之初,英特尔就考虑到要发挥整个 Xe 架构最强的全面性能,不论是高性能仍是低功耗。除此以外,oneAPI 的设计也确保要符合英特尔全部其余不一样计算和应用的需求。不论是 CPU、FPGA 仍是加速器,oneAPI 的设计均可以和它们进行很是完整的配合。
  oneAPI,是英特尔以软件来最大程度释放硬件性能,从软件层面来简化和统一跨 SVMS 架构的创新。Raja Koduri 指出,oneAPI 是一个很是底层的抽象框架,主要就是面对之后不一样计算元素的集成,但愿可以从底层更好地完成特征抽象和集成。
  SVMS 架构是由标量(Scalar)、矢量(Vector)、矩阵(Matrix)、空间(Spatial)四种架构组成的,分别对应着 CPU、GPU、FPGA 和加速器,它们的组合方式是多种多样的。经过这个架构的分类方式能够看到,CPU 是最通用的一种架构,而 GPU 会比 CPU 更加高效和专用,而 FPGA 和加速器的能效和灵活性更高。
  “英特尔的策略就是要囊括 CPU、GPU、FPGA、加速器全部的架构。”Raja Koduri 指出,CPU 依旧是目前最重要的架构,英特尔将不断提升每一个 CPU 的性能,继续保持它做为最强的计算架构的位置。GPU 战略主要是要提升能效,更好帮助英特尔提升总体的生产力和效率。在 FPGA 领域,英特尔如今已经作的很是成功了,英特尔推出了不少重要的 FPGA 产品。另外,加速器也是英特尔很是重要的一个发力点。
  在 oneAPI 的生态构建方面,英特尔主要从三个层面来推动:一是英特尔有着强大的开发者社区,以及全球范围内很是普遍的社区合做伙伴。英特尔将从自身很是擅长的开源社区入手。第二,在很大层面上与高校展开配合协做,结合他们的技术以及案例来打造一个完整的社区。第三,与全球开发者们进行更加完整的合做,开发者不只仅是指我的开发者,也包括大型的企业机构,例如腾讯、阿里等,英特尔将会与每一个人、每一个企业都紧密地配合,来支持 oneAPI 的生态。
  截至 11 月 17 日,支持 oneAPI 概念的业内领先企业和研究机构已经超过 30 家,包括高性能计算领域的领导者、人工智能领域的创新者、硬件厂商/OEM、独立软件开发商、云服务商、高校等等。
  2019 年 5G 的正式商用加速了物联网的深刻应用,这意味着会有更多的物联网节点智能终端产品落地应用。据统计数据显示,2020 年全球物联网设备基数将达 307 亿台,2025 年将达到 754 亿台。而这些将会产生海量的数据,这些数据的存储、安全、运算,则须要依赖于数据中心、云服务等软件业务。
  英特尔愿发挥在软件业务方面的强优点,以生态系统培养为主,推进整个业界往前迈进。并与合做伙伴一块儿面对这一巨大的市场应用需求,一同抓住这块蛋糕。算法

相关文章
相关标签/搜索