oneAPI 介绍说明 一个统一的、简化的编程模型将定义未来应用程序开发的十年

 

oneAPI 是什么?

oneAPI 是一个统一的、简化的编程模型,旨在简化跨多架构的开发过程(如CPU、GPU、FPGA、加速器)。oneAPI 包含两个组成部分:一项产业计划和一款英特尔® beta 产品,都是全新探索的第一步。

  • oneAPI 计划的跨架构开发模型基于行业标准和开放规范,支持广泛的行业生态系统采纳该技术来推动应用开发领域的新演进。
  • 英特尔® oneAPI beta 产品是英特尔基于 oneAPI 的实现,它包括了 oneAPI 标准组件如直接编程工具(Data Parallel C++)、含有一系列性能库的基于 API 的编程工具,以及先进的分析、调试工具等组件。开发人员从现在开始就可以在英特尔 DevCloud for oneAPI 上对基于多种英特尔架构(包括英特尔® 至强® 可扩展处理器、带集成显卡的英特尔® 酷睿™ 处理器、英特尔 FPGA 如英特尔Arria®、Stratix®等)的代码和应用进行测试。这一进展源自于英特尔数百万小时软件工程开发的努力,旨在为全球开发人员提供一座从现有代码和技能过渡到即将来临的 xPU 时代的桥梁。

 

完整版信息图请查看附件

 

oneAPI 为何重要?

oneAPI 是英特尔“软件先行”战略的重要体现,英特尔相信这一战略将定义和引领一个人工智能日益融合、异构及多架构的编程时代。

跨架构(CPU、GPU、FPGA及其他加速器)开发能力对于处理数据密集型工作负载极为重要,因为这种工作负载需要多种架构,这也将成为未来的常态。在今天,每一个硬件平台往往需要开发者维护独立的代码库,这些代码库需要使用不同的语言、库和软件工具进行编程。这是一项极其复杂和耗费时间的工作,会大大降低开发速度、抑制创新。

为了解决这一难题,oneAPI 提供一个通用、开放的编程体验,让开发者可以自由选择架构,无需在性能上作出妥协,也大大降低了使用不同的代码库、编程语言、编程工具和工作流程所带来的复杂性。相对于今天的基于单个厂商的封闭式编程环境,oneAPI 为开发者提供了极富竞争力、也更先进的可替代选择,帮助他们在保留现有软件投资的基础上,搭建一座无缝连接的桥梁,从而为未来的多架构世界创造更多丰富的应用程序。

为什么英特尔能够应对这项挑战?

英特尔已经深入开发者生态领域超过 20 年。英特尔拥有 15000 多名软件工程师和 10000 项与客户紧密合作的软件部署,是 Linux kernel 最大的贡献者,每年修改的代码超过 50 万行,为 100 多个操作系统进行过优化,并且拥有超过两千万活跃开发者的生态,而这些只是英特尔庞大的软件实力的一部分。

英特尔跨基础架构、网络、操作系统的开发经验,开发工具和 SDK 以及其所参与并影响的标准制定组织的数量在业界是无与伦比的。凭借深耕行业多年的积累和英特尔软件工程团队数百万个小时的努力,英特尔正通过创建一个统一的编程模型,推动开发普及化,简化困难,为开发者创造一个更具移植性、更高效且性能更高的编程环境,来帮助开发者应对未来的挑战。

为什么需要一个开放式规范?

数十年以来,英特尔与包括 ISO C++/Fortran Groups、OpenMP* ARB、MPI Forum、The Khronos Group 在内的多个标准制定组织以及行业/学术组织携手,希望通过开放协作的方式寻求一种可实现互操作性与互换性的产品规范,而 oneAPI 项目就是这一行动的延续。oneAPI 将实现与现有行业标准的互操作性。最新 oneAPI 规范可在 oneAPI 计划官网 oneAPI initiative site.查阅。

oneAPI 开放式规范包括哪些内容?

这一开放式规范包括一种跨架构的编程语言 Data Parallel C++ (DPC++)、一套用于 API 编程的函数库以及底层硬件接口(oneAPI Level Zero)。有了这些组件,英特尔和其它企业就能创建他们自己的 oneAPI 实现来支持他们自己的产品,或基于 oneAPI 进行新产品开发。

Data Parallel C++ 是什么?

DPC++ 是基于大众熟悉的 C 和 C++ 语言,专门为 oneAPI 设计的主要编程语言。它融合了来自 Kronos Group 的 SYCL*,从而可以支持跨 CPU 和加速器上的数据并行和异构编程,目的是为了简化编程以及提高代码在不同硬件上的可重用性,同时能根据特定的加速器进行调优。

DPC++ 语言增强将会通过一个开发者社区项目来进行扩展,以简化数据并行编程。该项目向公众开放,并将通过开发者们的共同努力不断发展。

oneAPI 规范内容将会开源吗?

很多库和组件已经开源或即将开源。请访问 oneapi.com 查看详细开源项。

哪些公司将支持或参与 oneAPI 计划?

截至 11 月 17 日,支持 oneAPI 概念的业内领先企业和研究机构已经超过 30 家,包括高性能计算领域的领导者、人工智能领域的创新者、硬件厂商/OEM、独立软件开发商、云服务商、高校等等。其中很多也积极参与了 oneAPI beta 版工具包的测试并提供反馈意见。

 

 

这项计划刚刚启动,英特尔预期未来几年将会有更多参与方加入该计划。企业在创建自己的 oneAPI 实现并完成自我认证后即可以使用全新 oneAPI 计划品牌和标识。

不同的 oneAPI Beta 版工具包都包含了什么?

英特尔 oneAPI 基础工具包(Beta版)包含了一系列核心工具和库,为构建和部署跨架构的高性能以数据为中心的应用而开发。它具体包含了 oneAPI 开放式规范技术(DPC++语言、特定领域的库)和英特尔® Python* 分发包来提供跨相关架构的即时加速,以及能增强分析、协助设计和调试等组件。

除英特尔 oneAPI 基础工具包外,英特尔还提供其他针对高性能计算、人工智能等专门工作负载的工具包,包括:

  • 英特尔 oneAPI 高性能计算工具包(Beta 版):帮助快速交付可扩展的 C++、Fortran 和 OpenMP 应用程序
  • 英特尔 oneAPI 深度学习框架开发者工具包(Beta 版):用于建立深度学习框架或对现有深度学习框架实现定制化
  • 英特尔 oneAPI 渲染工具包(Beta 版):用于开发高性能、高精度的可视化应用程序(包括科学可视化)
  • 英特尔 AI 分析工具包(Beta 版):由 oneAPI 提供技术支持,适用于人工智能开发者和数据科学家,以更好地利用机器学习和深度学习模型来构建应用。
  • 此外还有两种 oneAPI 补充工具包:为系统工程师设计的英特尔系统 Bring-Up 工具包以及面向深度学习推理和计算机视觉的生产场景的英特尔发行版 OpenVINO™ 工具开发包。更多详情请访问:Intel oneAPI

oneAPI 支持哪些处理器和加速器?

oneAPI 规范是为支持来自多个厂商的各种 CPU 和加速器而设计的。oneAPI beta 版目前支持英特尔 CPU(英特尔至强®、酷睿™、凌动)、英特尔 Arria FPGA 以及作为未来独立数据中心 GPU 代理开发平台的第九代/英特尔核芯显卡。oneAPI 日后将支持更多英特尔加速器架构。

其它厂商的硬件与 oneAPI 兼容吗?

oneAPI 规范的 DPC++ 语言和库等都向公众开放使用,我们也鼓励其它硬件厂商使用。其它硬件厂商可以创建自己的 oneAPI 实现并基于此对特定硬件进行优化。

开发者可以通过哪些途径获取更多信息?

关于 oneAPI 计划的更多信息可通过访问 oneAPI.com 获取。开发者可在英特尔开发人员专区(网址:https://software.intel.com/oneapi)下载英特尔 oneAPI Beta 版工具包供本地使用,也可以通过英特尔 DevCloud for oneAPI 平台快速入门获得对于oneAPI 工具包的访问,并使用它对多个以数据为中心的架构下的代码和工作负载进行测试。该方式无需安装和设置并节省时间,且在无需负担开发平台成本的情况下灵活尝试不同的硬件。

关于英特尔

英特尔(NASDAQ: INTC)是全球半导体行业的引领者,以计算和通信技术奠定全球创新基石,塑造以数据为中心的未来。我们通过精尖制造的专长,帮助保护、驱动和连接数十亿设备以及智能互联世界的基础设施 —— 从云、网络到边缘设备以及它们之间的一切,并帮助解决世界上最艰巨的问题和挑战。如需了解更多信息,请访问英特尔中国新闻中心 newsroom.intel.cn 以及官方网站 intel.cn

英特尔和英特尔标识是英特尔公司在美国和其他国家(地区)的商标。
*文中涉及的其它名称及品牌属于各自所有者资产。