英特尔带来的新礼物,打造oneAPI统一软件平台

1971年,英特尔推出了全球第一个微处理器(CPU),它的出现引发了计算机和互联网革命,也改变了整个世界的工作方式。PC领域的发展为英特尔奠定了其在半导体行业中的地位。而在科技不断升级的过程中,伴随着人工智能以及大数据的发展,CPU已经无法满足新时代对算力的需求,因此,GPU、FPGA等多种不同架构的硬件平台顺势而起。为了保证让硬件平台发挥其最大的优势,异构计算进入到了行业领域当中。但是开发的过程中,跨平台软件各自为政,增加了开发者的工作负担。针对这一难题,为了实现跨平台的软件开发并帮助更多的企业加速创新,英特尔推出了oneAPI项目。

从英特尔官方介绍中看,one-API旨在提供一个统一的编程模型,以简化跨不同计算架构的应用程序开发工作,这些计算架构经常被缩写为 SVMS,包括标量处理器(CPU),矢量处理器(GPU),矩阵处理器(AI引擎)和空间处理器(FPGA)。从官方描述中看,英特尔致力于将one-API打造成一个可跨多硬件架构开发的统一软件平台。就目前来看,市场上还未曾出现过这样一种软件平台。而由one API带来的软件“大一统”,是否会开启英特尔继PC之后的又一神话。

one API的两大核心优势

在谈及one-API的价值之前,首先要先了解one-API是针对软件开发中的哪一环节进行统一,以及这种统一对现有的工作环境产生的影响。

从实际开发应用中看,针对不同的计算架构平台都需要进行单独的软件投资,这些软件投资涉及到了跨平台的语言和库,语言的库的复杂性往往会导致产品开发周期变长。因此,英特尔one-API所要解决的就是在XPU与中间件/框架之间的语言和库不统一的问题。

在英特尔之前的宣传中得知,在one-API项目当中,英特尔推出了一种基于标准的跨架构语言Data Parallel C++++ (DPC++)。据悉,DPC++支持不同硬件目标的代码复用,是面向特定加速器的自定义调试的跨行业开放式解决方案,也是代替单一架构的专用语言。但DPC++却并不是一种全新的开发语言。据了解,DPC++以C++为基础,融合了Kronos Group的SYCL,可支持数据并行性和异构编程,并包含在一个开放社区流程中开发的语言扩展。

C++对于软件开发者来说并不陌生,DPC++所融合的SYCL又是什么?SYCL是一个免版税的跨平台抽象层,基于OpenCL的基本概念,可移植性和效率,使得异构处理器的代码可以使用完全标准的“单一来源”风格编写C ++。SYCL支持单一源代码开发,其中C ++模板函数可以包含主机代码和设备代码,以构建使用OpenCL加速的复杂算法,然后在不同类型数据的源代码中重复使用它们。以此来看,DPC++并不是一件全新的语言,这对于软件开发者来说,非常容易切入到oneAPI的项目中去。而为了更易于软件开发者的使用,英特尔在oneAPI beta版本中还插入了compatibility tool,通过此工具可以将之前的语言轻松转换成DPC++。

另一方面,在oneAPI当中,英特尔还融合了多种库,旨在加速以行业领域为中心的主要功能,包含了数学库、ML通信库、视频处理库等。受到人工智能趋势的影响,oneAPI中也包含了可面向所有开发人员的AI基础套件。此外,英特尔还提供了优化的AI框架包,包含了TensorFlow、PyTorch等AI框架的工具套件。这些库和框架都可以支持CPU、GPU、FPGA等多种计算架构。

从语言到库的构成上,不难看出oneAPI正在对跨架构平台的软件进行整合,以实现统一。

构建oneAPI生态

英特尔对于oneAPI项目的布局早就开始了,而在今年第四季度发布了oneAPI开发者测试版本,即oneAPI beta。该产品产品为开发者提供了全套的开发工具,包括编译器、编程库、分析器等,并把这些工具封装为特定领域的工具包。

英特尔希望通过oneAPI测试版本来完善统一软件平台的搭建,并以生态系统培养为主,推动产业的进步。据了解,截至11月,支持one API的企业和研究机构已经超过30家,包括高性能计算领域的领导者、人工智能领域的创新者、硬件厂商/OEM、独立软件开发商、云服务商、高校等等。

关于未来oneAPI生态的构建,英特尔相关人士表示,公司将不仅继续与上下游合作伙伴之间展开合作,也会将oneAPI纳入到与高校的合作当中。在英特尔看来,目前,众多高校已经开设了C++相关课程,oneAPI中的专用开发语言以C++为基础,适合相关专业的学生的继续学习和发展。其次,现在产教之间的融合越来越紧密,许多高校已经开展了异构方面的研究,oneAPI会帮助他们更快地从理论过渡到实践。但目前oneAPI推出的仅是测试版本,英特尔还在寻找更合适的内容去对接高校的资源。

one API对英特尔及行业的价值

从上述消息来看,英特尔正在全面布局oneAPI项目。英特尔此举对公司本身有什么价值,这种价值对产业又会产生什么影响?

对英特尔内部来看,与oneAPI功能重叠的产品,最终都将统一到oneAPI中去。此外,关于oneAPI正式版本的推出时间,英特尔官方也给出了将于明年第四季面市的消息。从正式版本的推出时间来看,不难让我们联想到英特尔的GPU也将于明年推出的消息。伴随着明年英特尔GPU的推出,并结合英特尔在今年以来在FPGA领域的进展,英特尔也将拥有最完整的硬件平台。同时,在EMIB技术的加持下,使得英特尔在异构计算的硬件上更具优势。而伴随着跨架构统一软件平台oneAPI的推出,无疑将会加速英特尔在异构方面的发展。

此外,作为连接“XPU”与框架的软件平台,oneAPI中的软件将与英特尔之前推出的框架之间形成上下层级的联动。以OpenVINO为例,OpenVINO可以被看做是构建在oneAPI概念之上的一个SDK,其主要功能是面向于视觉计算,可提供各种优化以及深度学习的推理。据英特尔相关人员表示:“如果OpenVINO已经能够满足开发需求,软件开发人员则可以不使用oneAPI。但是,基于某些视频处理对AI推理功能的需求,在前处理、后处理阶段则可能要用oneAPI。”

oneAPI与英特尔其他软件的结合,构成了英特尔的软件体系。软件是英特尔应对未来数据量的爆炸式增长、数据的多样化以及处理方式的多样性所提出的六大技术支柱之一。而这六大技术支柱也是英特尔“以数据为中心”战略转型的重要支撑。以此来看,作为英特尔软件体系中的关键部分,oneAPI将影响着公司转型。

从整个产业来看,英特尔经过了半个多世纪的积累,已经在半导体行业中占据了相当重要的地位。英特尔作为曾经半导体行业最先进技术的代表,它的战略转型,为业界展示了未来半导体行业的风向。而今,英特尔正在试图突破PC时代所创下的辉煌,进行着以“数据为中心”的战略转型当中,并提出了六大技术支柱。曾经以硬件为豪的巨头,开始强调软件实力的重要性,并试图通过oneAPI来为业界缔造一个可跨架构开发的软件平台。据了解,oneAPI不仅支持英特尔的硬件产品,也将支持其他第三方产品。由此,也不难看出,英特尔的宏伟愿望。

英特尔在软件方面的全面部署,可以与其硬件之间形成良好的互补。同时,伴随着oneAPI将支持更多的硬件平台的开发,也将吸引更多的合作伙伴加入到英特尔的软件体系中。照此发展,通过oneAPI,英特尔或许可以创造继PC之后的又一神话。