条漫文案 / 正文 | 胡巍巍
条漫设计 | 付费下载自稿定设计
出品 | CSDN(ID:CSDNnews)


程小猿的难处,相信你也感同身受。


当下,异构计算如日中天,开发者在同一个数据中心里,既需要在 CPU 里做虚拟机,又需要在 FPGA 里做各种压缩,还需要在 GPU 里做深度学习。


因此,开发者得在数据中心里,安装很多硬件、和运行很多软件。这种情况下,开发者不加班才怪呢!


如果 CPU、FPGA 和 GPU 等,还是各自为政,当你的应用要扩容、硬件要升级时,或者哪怕你想做出任何改变,成本都非常高。


如果架构再发生变化,这等于你之前的付出,全部白费!


打个比方,某天中午,你既想吃天妇罗,还想吃水煮鱼,但这一个是日料、一个是川菜,你想同时吃到,就得分别去一家日料店和一家川菜馆。


有没有办法,可以让你在一家餐厅,就同时吃到鹅肝和水煮鱼呢?


当然有!去自助餐厅就可以。


而前文提到的 oneAPI,正是英特尔为了让开发者能够自由享用“自助餐服务”而推出的,赋予开发者灵活选择各种架构进行任意组合的惬意
那么,oneAPI 是一个怎样的产品?


四问 oneAPI:是啥、干啥、啥时用、咋用


oneAPI 是啥


在 2019 年超级计算大会上,oneAPI beta 产品发布。

 

 

oneAPI beta 产品,包括直接编程工具(Data Parallel C++)、基于 API 的编程工具、以及分析工具和调试工具等组件。oneAPI beta 还可以把这些工具,封装为特定领域的工具包。


概括来说,oneAPI 是一个统一和简化的编程模型,它的诞生使命,在于简化跨多架构的开发过程(如 CPU、GPU、FPGA、加速器)。


它也是英特尔首创的自助餐式服务。举个例子,银行、物流、医院、工厂等不同行业的开发者,他们的需求,都不尽相同。在某一个硬件上,开发者用的可能是 CPU+FPGA,也可能是 GPU+FPGA。


但是跨不同的硬件、CPU、GPU 和 AI,有比较多复杂硬件的异构性。而 oneAPI 提供了更加简单的方法,来统一编程框架,让程序员在不同的硬件架构上,感受到统一的开发体验,这对于程序员来讲工作就会非常方便。


短短数月内,支持 oneAPI 的企业和机构已经超过 30 家。它们中间,既有一线厂商,还有名牌高校。

 

 

oneAPI 干啥


它最重要的作用,就是帮你实现异构编程!


打个比方,oneAPI 和异构编程的关系,有点像携号转网,当然这个“转网”,不需要有关部门的批复。


有了 oneAPI,你在某一个数据中心里开发的东西,可以从 CPU 挪到 FPGA 上,也可以从 NVIDIA 的 GPU 挪到英特尔的 GPU 上。


此外,oneAPI 还能简化各种架构的开发流程;它还可以统一语言和函数库,使其变得更简单,从而有利于表达并行化;oneAPI 还拥有很好的本机高级语言性能;并能够与现有 HPC 编程模型互操作。


oneAPI 啥时用


当下,oneAPI beta 版已经发布。


而 oneAPI 的库和组件们,要么已经开源,要么即将走向开源。


俗话说,车马未动,粮草先行。


英特尔已在北京和上海,举办 oneAPI beta 研讨会,通过开发者的试用和反馈,来对 oneAPI 做出优化。一年后的 2020 年四季度,一个准备完美的 oneAPI,就会和你见面。


oneAPI 咋用


当下的 oneAPI beta 版,主要面向英特尔至强可扩展处理器、带集成显卡的英特尔酷睿处理器,以及英特尔 FPGA。


DPC++:专门为 oneAPI 设计的编程语言


好马还要配好鞍,为了让你更丝滑地使用 oneAPI。基于英特尔在架构和编译器领域积累的多年经验,英特尔专门给 oneAPI,设计了一款名叫 DPC++的编程语言。

 

 

它的全称叫 Data Parallel C++,Data Parallel 是数据并行的意思。它基于 C 和 C++,并融合 SYCL(OpenCL 的高级编程模型)。


三剑合一,让 DPC++能支持跨 CPU、跨加速器的数据并行,并能让你实现异构编程。


可以说,DPC++存在的意义,正是为了简化编程、提高代码在不同硬件上的可重用性。此外,它还能根据特定的加速器进行调优。


未来可期:开发者如何享受 oneAPI 利好?


oneAPI 大部分都是开源的,你可以按照自己的想法,在上面做拓展。


此外,oneAPI 的诞生原因之一,便是为了减轻开发者工作量、以及方便开发者进行跨架构编程。


正因为 oneAPI 的是开源的,所以它也是瞬息万变的。


而它的变化,正取决于开发者对于 oneAPI 生态的贡献。


英特尔通过投入大量人力、物力,已经给 oneAPI 设立好起点。


接下来,就需要开发者和英特尔一起,来将 oneAPI 推得更高!


然后,水涨船高后,受益者就是你。


话说回来,谁说程序员工资高,都是加班加出来的?工具用得好,下班回家早!oneAPI 用起来!