立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

定义未来应用程序开发的十年?英特尔正式推出统一跨架构编程模型 oneAPI

  • 2019-11-19
  • 本文字数:2726 字

    阅读完需:约 9 分钟

定义未来应用程序开发的十年?英特尔正式推出统一跨架构编程模型oneAPI

在 2019 年超级计算大会上,英特尔推出了一类专为高性能计算和人工智能融合优化的通用 GPU(Ponte Vecchio),当人们欢呼雀跃,似乎看见英伟达“一家独大”的局面被打破时,我们注意到英特尔发布的另一个计划——oneAPI。oneAPI 是一个统一的、简化的编程模型,旨在简化跨多架构的开发过程(如 CPU、GPU、FPGA、加速器),而英特尔则或许能够凭借 oneAPI,对整个芯片设计行业进行一次“大规模的洗牌”。


英特尔高级副总裁、首席架构师以及架构、图形与软件部门总经理 Raja Koduri 在2019年超级计算大会上表示:“高性能计算和人工智能工作负载需要包括 CPU、通用 GPU、FPGA,以及英特尔专用深度学习芯片 NNP 在内的多种架构。帮助客户更简便地释放不同计算环境的潜力至关重要,英特尔致力于采取软件先行的策略,为多架构提供统一可扩展的功能加速异构创新。”


统一的跨架构编程模型

英特尔:oneAPI 是一个统一的、简化的编程模型,它将定义未来应用程序开发的十年。


在 2019 超级计算大会上,英特尔发布的 oneAPI 是一个以开发者为中心的平台,英特尔方面表示 oneAPI 将提供通用、开放的编程体验,换句话说就是,开发者可以在 oneAPI 上自由选择架构,以及在使用不同的代码库、编程语言、编程工具和工作流程时,会变得更加简单。


oneAPI 主要包括两个部分:一项基于开放规范的行业计划和一款 Beta 产品。


该开放规范包括一种编程语言(DPC++)、API 函数库以及底层硬件接口。而 oneAPI Beta 产品则为开发者提供一系列的开发工具,包括编译器、编程库、分析器等,并把这些工具封装为特定领域的工具包。


初期 oneAPI Beta 版主要面向英特尔至强可扩展处理器、带集成显卡的英特尔酷睿处理器,以及英特尔 FPGA,英特尔表示,未来 oneAPI Beta 还将支持更多的硬件。


开发者可在 Intel oneAPI DevCloud 平台下载和试用 oneAPI 工具,并在software.intel.com/oneAPI网站上了解更多关于 oneAPI 的信息。


oneAPI 详解

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


事实上,跨架构(CPU、GPU、FPGA 及其他加速器)的开发能力对于处理数据密集型的工作负载极为重要,因为这种工作负载往往需要多种架构协同工作,从发展的角度来看,这或许会成为未来的常态。


然而,现在的情况却是,每一个硬件平台往往需要开发者去维护独立的代码库,这些代码库又需要使用不同的语言、不同的库和不同的软件工具进行编程。这就意味着,维护代码库会是一项极其复杂和耗费时间的工作,尤其是在不同语言、软件工具等客观条件影响下,不仅会大大降低开发速度还会抑制创新。


所以,相对于今天基于单个厂商的封闭式编程环境,oneAPI 带来的是一座开放、简化的桥梁,不仅能够保留其现有的软件投资,还能在这个基础上使得开发者们进入到一个新的“多架构世界”。

开放规范

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


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


目前 oneAPI 规范内容中的很多库和组件已经开源或即将开源。可以通过访问 oneapi.com,查看具体的开源项。


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

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

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?

截至 11 月 17 日,支持 oneAPI 概念的业内领先企业和研究机构已经超过 30 家,包括高性能计算领域的领导者、人工智能领域的创新者、硬件厂商/OEM、独立软件开发商、云服务商、高校等等。虽然这项计划刚刚启动,但英特尔称,预期未来几年将会有更多参与方加入该计划。


未来趋势

随着越来越多新芯片架构和编程模型的出现,未来的通用并行计算市场仍存在很多不确定的因素,在这一角度看来,CUDA 和 OpenCL 必定不会是“通用并行计算市场”的终点。近期,英特尔副总裁 Bill Savage在接受InfoQ采访时就曾提到:“跨架构编程的开放 oneAPI 是替代 CUDA 和 OpenCL 的选项。”


我们无法确定 oneAPI 在将来究竟能不能替代 CUDA 和 OpenCL,但现在的它,无疑是为跨架构编程提供了一个新的选择。


CUDA 和 OpenCL 分别是由英伟达和苹果发起的开放规范,其中 CUDA 完全由英伟达独有,只支持英伟达的 GPU,源码和编程语言并不对外开放,但由于完整的配套生态、很好的易用性和高效的更新迭代速度而广受到机器学习应用开发者和框架开发者欢迎。

OpenCL 虽然是一个开放的编程规范且支持所有的硬件架构,但由于实现主要依靠各大硬件厂商,无法保证质量和更新速度,目前也只有 AMD 的支持做的相对成熟;OpenCL 为了支持不同硬件,存在很多冗余代码,硬件利用率不高,而且在英伟达的卡上性能不如 CUDA,在非英伟达的卡上驱动质量也是参差不齐;再加上异构代码编写复杂、文档不够清晰等缺点,OpenCL 具有一定的局限性。


2019-11-19 17:386168
用户头像
张之栋 前InfoQ编辑

发布了 91 篇内容, 共 49.0 次阅读, 收获喜欢 159 次。

关注

评论

发布
暂无评论
发现更多内容

讯飞星火V4.0超越 GPT-4 Turbo!OpenAI、Meta、谷歌发布最新大模型袭卷AI|AI日报

可信AI进展

#人工智能

蓝易云 - Python基本文件操作及os库

百度搜索:蓝易云

Python Linux 运维 云服务器 OS

蓝易云 - 香港云主机好不好?应该怎么选择?

百度搜索:蓝易云

云主机 云服务器 服务器租用 香港服务器

好玩的mac电脑游戏推荐:古墓丽影10:崛起 for mac

你的猪会飞吗

Mac游戏下载

Parallels Desktop使用教程之融合(Coherence)模式 PD虚拟机怎么用 虚拟机切换Windows应用

禁止废话

融合 #Mac Parallels 虚拟机软件 pd 19

幻16 2022(2023)没有 insert 键的解决方法

玄兴梦影

模拟城市5: 未来之城 全DLC for Mac 下载安装包

你的猪会飞吗

Mac游戏下载 Mac游戏分享

《百面机器学习》PDF

程序员李木子

好玩的Mac电脑游戏:神界:原罪2 for Mac全DLC终极版

你的猪会飞吗

mac游戏 Mac游戏下载

蓝易云 - Ubuntu 20.04通过udev规则修改网卡名称(例如eth0)

百度搜索:蓝易云

云计算 ubuntu 运维 云服务器 udev

DEBOPIE框架:打造最好的ChatGPT交易机器人

俞凡

人工智能 交易 ChatGPT

企业级im即时通讯是什么?企业级im即时通讯的作用

WorkPlus

如何设置合理的警报触发条件

dappweb

ao

蓝易云 - Qt http的认证方式以及简单实现

百度搜索:蓝易云

Linux 运维 HTTP qt QNetworkAccessManager

豆包MarsCode智能开发工具免费登场!国内7大大模型厂商全面接入钉钉!|AI日报

可信AI进展

#人工智能

蓝易云 - MySQL之优化SELECT语句

百度搜索:蓝易云

MySQL 云计算 Linux 运维 select

mac电脑游戏推荐:NBA 2K24 街机版下载

你的猪会飞吗

Mac游戏下载 mac单机游戏

原型设计软件Axure RP 9 for Mac 中文激活版

iMac小白

工作三年的经验总结

玄兴梦影

工作总结 三年工作

AI实测|基于图像、语言与声音,人工智能是否已经超越了人类?

可信AI进展

#人工智能

定义未来应用程序开发的十年?英特尔正式推出统一跨架构编程模型oneAPI_AI&大模型_张之栋_InfoQ精选文章