英特尔首推异构编程神器 oneAPI,可以让程序员少加班!

  • 来源: 鹰眼新闻   2019-12-23/13:10 访问量:
  • 条漫文案/正文 | 胡巍巍

    条漫设计 | 付费下载自稿定设计

    出品 | 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。

    如果你感兴趣,可以在Intel oneAPI DevCloud平台下载和试用oneAPI工具。想了解更多oneAPI详情,则可以戳software.intel.com/oneAPI。

    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用起来!

    ---------------------------------------------------------

    免责声明:

    1.本文援引自互联网,旨在传递更多网络信息,仅代表作者本人观点,与本网站无关。

    2.本文仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多