历史上的今天
返回首页

历史上的今天

今天是:2024年11月18日(星期一)

正在发生

2019年11月18日 | 英特尔oneAPI,一个针对异构计算以开发者为中心的平台

2019-11-18 来源:EEWORLD

在2019年超级计算大会上,英特尔发布了一项全新软件行业计划oneAPI,助力充分释放高性能计算与人工智能技术融合时代多架构计算的潜力,同时发布了一个oneAPI beta产品。

 

英特尔oneAPI行业计划,为跨多种包括CPU、GPU、FPGA和其他加速器在内的异构计算,提供了一个统一和简化的应用程序开发编程模型。oneAPI的发布源自英特尔数百万小时软件工程开发的努力,并且标志着一个行业内的变革,从今天受限、封闭的编程方法演变到一个开放的、基于标准的模式,助力开发人员实现跨架构的参与和创新。

 

Intel Raja Koduri 2 2x1

 

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

 

发布的oneAPI是一个以开发者为中心的平台,将为AI应用无处不在、多架构并存的世界重新定义一种新的编程方式。oneAPI提供一个通用、开放的编程体验,让开发者可以自由选择架构,无需在性能上作出妥协,也大大降低了使用不同的代码库、编程语言、编程工具和工作流程所带来的复杂性。oneAPI保留了现有软件投资,包括支持现有语言,同时为开发人员创造更多丰富的应用程序提供了灵活性。

 

oneAPI包括了一项基于开放规范的行业计划和一款beta产品。该规范包括一种编程语言、强大的API函数库以及底层硬件接口。oneAPI beta产品为开发者提供了全套的开发工具,包括编译器、编程库、分析器等,并把这些工具封装为特定领域的工具包。初期oneAPI beta版主要面向英特尔®至强®可扩展处理器、带集成显卡的英特尔®酷睿®处理器,以及英特尔® FPGA,未来还将支持更多硬件。

 

 

oneAPI是什么?

 

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

 

oneAPI计划的跨架构开发模型基于行业标准和开放规范,支持广泛的行业生态系统采纳该技术来推动应用开发领域的新演进。

 

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

 

C:UsersAbby.ZhangDesktoponeAPI信息图.png?imageView2/2/w/550

 

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开放式规范包括哪些内容?

 

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

 

Data Parallel C++是什么?

 

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

 

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

 

oneAPI规范内容将会开源吗?

 

很多库和组件已经开源或即将开源。

 

哪些公司将支持或参与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™ 工具开发包。

 

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

 

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

 

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

 

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

 

在即将到来的12月,英特尔将分别在上海和北京举办英特尔®oneAPI研讨会,力邀热衷于研究跨平台技术和下一代英特尔软硬件平台功能的软件开发者;使用C++在GPU硬件加速器上进行HPC或AI应用研发的软件开发者;使用C/C++在英特尔CPU上开发高度并行化的应用并有兴趣将来使用GPU或FPGA加速器的软件开发者参加。

 


推荐阅读

史海拾趣

德国ACAM公司的发展小趣事

德国ACAM公司成立于1996年,总部位于施图登湖,毗邻斯图加特和卡尔斯鲁厄。公司从创立之初,就专注于时间到数字转换技术及其应用的研发。ACAM公司凭借其创新的技术和卓越的研发实力,在极短的时间内就取得了显著的成果。特别是在时间数字转换器(TDC)技术上,ACAM公司成功开发出业界领先的产品,为后续的快速发展奠定了坚实的基础。

Alpha 3 Manufacturing公司的发展小趣事

Alpha 3 Manufacturing公司成立于XXXX年,初期面临着资金短缺、市场竞争激烈以及技术瓶颈等多重挑战。然而,创始人凭借对电子行业的深刻理解和敏锐的市场洞察力,看到了电子产品制造领域的巨大潜力。他带领团队攻克技术难关,开发出了一款具有创新性的电子产品,迅速获得了市场的认可,为公司的起步奠定了坚实的基础。

Analog Modules Inc公司的发展小趣事

Alpha 3 Manufacturing公司深知产品质量是企业生存和发展的关键。因此,公司建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格的把控。同时,公司还引入了先进的生产设备和检测仪器,确保产品的质量和性能达到国际先进水平。此外,公司还定期对生产过程进行审查和改进,不断提高生产效率和产品质量。

DCX-CHOL Enterprises公司的发展小趣事

DCX-CHOL Enterprises成立于一个科技蓬勃发展的时代。公司的创始人是一群热衷于电子技术的年轻人,他们看到市场上对于高性能、低功耗芯片的巨大需求,于是决定自主研发。经过数年的艰苦努力,他们成功开发出了一款具有革命性意义的低功耗芯片,该芯片不仅性能卓越,而且成本远低于同类产品。这一创新成果迅速赢得了市场的认可,DCX-CHOL Enterprises因此获得了第一桶金,为公司后续的发展奠定了坚实的基础。

Adafruit公司的发展小趣事

随着技术的不断成熟,DCX-CHOL Enterprises的产品逐渐在市场上树立了良好的口碑。公司敏锐地捕捉到智能家居、物联网等新兴领域对电子产品的巨大需求,于是开始将产品线向这些领域拓展。通过与行业领军企业的合作,DCX-CHOL Enterprises成功地将产品打入这些新兴市场,市场份额逐年上升。同时,公司还积极开拓国际市场,将产品出口到多个国家和地区,进一步扩大了公司的知名度和影响力。

CET Technology公司的发展小趣事

CET Technology作为电力行业的领军企业,受邀参加了2023年深圳企业创新发展大会。大会上,CET展示了其在电力系统、工业与能源等领域的最新技术成果,包括电力二次智能终端、电能管理专用工业软件等。这些产品与服务均体现了CET在电力技术领域的深厚实力和创新精神。通过参加此次大会,CET不仅与业界同行进行了深入交流,也进一步提升了公司的品牌影响力和市场竞争力。

问答坊 | AI 解惑

关于Linux嵌入式系统的培训效果!

想参加培训,但是不知道效果如何? 请大家来谈谈自己的经验吧~~ 谢绝销售…

查看全部问答>

串口接收问题

各位大侠好!请教一下,我利用C51的串口向S3C2440的串口1发数据,然后将该数据用串口0显示出来(串口调试工具),两个串口的波特率都是9600,奇偶校验都是一样的,为什么我收到的数据不是我发的数据,我用C51持续不断的发送十六进制的01,可我接受 ...…

查看全部问答>

一个例子看不明白

/* 打问号的地方不明白,希望大家给加下注释,谢谢了 这是一个蜂鸣器的程序(运行在arm9(mini2440)上的Linux下) */ #include #include #include #include #define PWM_IOCTL_SET_FREQ            &nb ...…

查看全部问答>

单片机技术

   单片机的经典电路时咋样的呀,希望大家给点建议啊。最好给个protel 99se的看看。…

查看全部问答>

WinCE中断处理--物理中断号与逻辑中断号的问题

各位大侠好:    小弟现在正在搞WinCE下面的中断处理,遇到了一点问题,希望大家踊跃发言,不吝赐教、    中断处理过程中,需要把物理中断号转化为系统的逻辑中断号,但是我却不怎么清楚物理中断号是怎么回事。看了不少网上 ...…

查看全部问答>

北京 诚聘 windows驱动软件开发工程师(兼或全职)

职位描述 Windows驱动程序设计和实现 职位要求 1.计算机、电子工程、通信、自动化等相关专业本科以上学历; 2.熟练掌握C/C++语言编程; 3.精通WDM, WDF编程,熟悉DriverStudio, WINDBG等开发工具; 4.深入理解Windows操作系统组成原理和内核 ...…

查看全部问答>

wince gprs 拨号的问题

我的程序是先打开串口,然后向串口写入at指令,最后调用rasdial()函数进行拨号连接,现在的问题是拨号能成功但是中间他会弹出一个终端窗口,要我们点 开始 -> 继续  才能继续走下去,我想实现不 弹出任何窗口 直接拨号连接.不知道大家有没有做 ...…

查看全部问答>

Cx51程序设计的堆栈空间计算方法

用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己的特点。本文介绍的是Cx51程序设计 ...…

查看全部问答>

TI Sitrara平台Roadmap

未来 Sitara平台低端产品亦会演进到Cortex-A8核心,这对采用TI Sitara平台开发产品的客户而言,无疑是一个重大利好消息。…

查看全部问答>