OneAPI:天下大同

电子森林 2020-01-11 23:10

点击蓝字,关注老石谈芯


OneAPI是英特尔在生态布局中最重要的一环,这已经不是什么秘密了。早在2018年底举行的英特尔架构日上,英特尔的芯片首席架构师Raja Koduri就对外公布了公司正在着力研发的一件“大事”:一个名为OneAPI的软件编程框架。


OneAPI相关的技术资料和编程指南,已上传至知识星球“老石谈芯-进阶版”,请在文末扫码进入星球查看。


(图片来自anandTech)


OneAPI:梦想照进现实?


顾名思义,OneAPI旨在提供一个适用于各类计算架构的统一编程模型和应用程序接口。也就是说,应用程序的开发者只需要开发一次代码,就可以让代码在跨平台的异构系统上执行,底层的硬件架构可以是CPU、GPU、FPGA、神经网络处理器,或者其他针对不同应用的硬件加速器等等。


OneAPI的口号是“No transistor left behind”,老石把它翻译成“晶体管一个也不能少”,这也很形象的总结了OneAPI的终极目标。



很多人在看到OneAPI之后的第一反应,都是三个字:不可能。有些略显极端的媒体甚至认为,OneAPI已经超出科幻小说的范畴,实在难以置信。


这些怀疑的声音并非毫无依据,应用程序的跨平台优化一直是业界研究的热点和重点之一。而OneAPI希望一次性解决四个硬件架构的异构编程问题,无异于在游戏开始就选择了地狱难度。


梦想还是要有的,万一实现了呢?


对于大多数应用程序的开发者来说,使用高级语言编程已经成为了再平常不过的事情。试想一下,你上一次写C++或Python、并需要知道特定处理器指令的操作码是什么时候?


事实上,现有的高级语言编译器已经很好的将程序开发与底层的计算机体系结构分离开来。这使得应用程序开发者可以专注于算法和应用的开发,而无需关心太多底层的CPU究竟如何实现程序。


然而,随着应用的复杂性不断增加,对算力的要求也逐渐加大。此时,单纯依靠堆积CPU内核已经无法满足应用程序对于性能、实时性、功耗、成本等等的要求。人们开始使用越来越多的非CPU计算单元,比如GPU、FPGA、以及各种针对不同应用而开发的专用芯片等。这些硬件加速器与CPU一起组成了复杂的异构平台。


为了发挥这个异构平台的最大性能,开发者需要深入了解底层硬件的体系结构,以及一系列的特定开发手段和技巧,以便针对性的利用各个异构单元的优势。


拿FPGA来说,如果按开发软件的思路去开发FPGA硬件,比如使用了各种循环嵌套、多层条件分支等等,恐怕只会得到一个连时序都无法收敛的FPGA设计。同样的,如果想用GPU做一些加速运算,那么最好在团队中有人对CUDA或OpenCL等有丰富的经验,否则就有可能白白消耗了GPU的高功耗而收效甚微。


这里只有一个问题:对于普通的软件工程师或算法工程师而言,了解和掌握这些硬件相关的开发知识几乎是不可能的


而这正是OneAPI希望解决的痛点(引自英特尔):


“OneAPI 提供一个通用、开放的编程体验,让开发者可以自由选择架构,无需在性能上作出妥协,也大大降低了使用不同的代码库、编程语言、编程工具和工作流程所带来的复杂性”。


OneAPI:HLS的进化形态?


具体来说,英特尔将旗下的芯片架构分成了SVMS四类,即:

  • 标量(Scalar):CPU

  • 矢量(Vector):GPU

  • 矩阵(Matrix):AI芯片

  • 空间(Special):FPGA



这四类架构分别有各自的优势和适用范围,同时也有着各自的编程模型和方法。


以FPGA为例,FPGA的硬件可编程性一直是它最主要的特点,也是与其他硬件加速器相区分的重要特性。然而,对FPGA进行编程远远没有听起来那么简单,这在老石之前的文章中也详细介绍过多次。其中最大的难点,就是要使用硬件描述语言(HDL)对电路行为进行建模,而且这种建模往往有着比较低的抽象程度


也就是说,FPGA开发者需要将待实现的算法进行分解、并行化、设计流水线,使其成为一个个数据通路或控制电路,同时还要设计数据的存储和读取方式、各种时钟域的同步、进行时序收敛等诸多优化,以符合系统的功耗、吞吐量、精度、面积等需求。这还不包括电路仿真、调试,以及在软件层面需要做的一系列工作。


这样,为了做出一个真正优化过的FPGA设计,往往需要一个有着丰富设计经验的团队协同合作。而就算有这样的团队,在处理一个再常见不过的for循环嵌套时,都可能花费长达数月的时间进行FPGA的硬件实现与性能调优。只需要看一下过去几年里,各类国际顶会和期刊上有多少关于FPGA循环展开与优化的论文就可见一斑了。


为了应对FPGA的设计复杂度过大的问题,业界通常有两种方法:第一,尽量将优化过的硬件设计封装成IP,让使用者直接调用。第二,使用诸如高层次综合(HLS)的方法,直接将高层语言描述的模型转化为FPGA硬件。


HLS一直是FPGA业界发展的重要方向,几乎没有之一。老石在之前的文章《高层次综合 – 解锁FPGA广阔应用的最后一块拼图》中曾经详细分析过,这里不再赘述,有兴趣的读者可以参考那篇文章。



HLS的主要问题是,它设计的初衷是为了硬件工程师服务,而非软件和算法开发者。因此,起码到目前为止,在业界取得成功的HLS工具都需要使用者有着丰富的硬件知识。在数字电路工程师手中,HLS工具已经被证明可以极大的缩短设计周期,有时甚至可以得到近似或优于人工优化过的RTL代码。然而对于软件工程师,HLS就好比让C罗去湖人队打篮球,固然噱头十足,但很难得到令人满意的成绩


OneAPI在很大程度上可以看做是HLS的扩展,但它的主要目标受众则是软件和算法工程师,这也将成为OneAPI与其他HLS工具的最主要区别。OneAPI提供了一个统一的软件编程接口,使得开发者可以随意在底层硬件之间进行切换和优化,而无需太多关心具体的电路结构和细节。



DPC++语言与硬件加速库


具体来说,OneAPI的核心是一个名为Data Parallel C++(DPC++)的编程语言。DPC++本质上是C++的扩展,增加了对SYCL的支持。


SYCL由Khronos组织开发,它是一个在OpenCL上的C++抽象层,使得用户可以直接用简洁的C++对GPU等进行开发,而无需被OpenCL限制。


不过,有关DPC++本身的资料目前还比较有限,尚不清楚其具体的开发方法、以及如何对异构系统进行编程。待具体实例出现后,老石再进行详细解读。



除了编程接口外,OneAPI还会包含一个完整的开发环境、软件库、驱动程序、调试工具等要素,并且这些加速库都已经针对底层硬件进行了优化设计。


这种基于优化过的加速库的设计,和赛灵思的Vitis系统有着异曲同工之妙,而这也恰恰代表了业界发展的方向。现如今,生态为王,为了掌握生态和开发者,就必须尽可能多的提供各类开发库和IP,以便开发者专注于应用开发,而无需重复造轮子。


(图片来自英特尔)


为了支持SVMS四大类硬件架构,OneAPI实际上给自己设置了非常高的目标。英特尔已经在2019年四季度发布了OneAPI的开发者测试版。除了基本工开发工具包之外,英特尔还发布了针对高性能计算(HPC)、深度学习、IoT、以及视觉和视频等四种领域专用的开发工具包,以期为这些特定的应用进行针对性的优化。在当前的版本中,开发者仍然需要在SVMS四大类中手动指定目标器件类别。但除此之外,OneAPI就会自动对目标器件的子类别进行优化。


结语


兵法云,兵马未动,粮草先行。在技术进步日新月异的当代,各类AI芯片、硬件加速器不断涌现,异构计算已经成为整个行业最重要的趋势。针对这些层出不穷的新硬件,则更应该“架构未动,软件先行”。作为芯片厂商,单纯提供芯片产品已经无法满足市场和使用者的需要,只有同时提供硬件和软件生态,才能在激烈的竞争中杀出一席之地。


老石认为,OneAPI是英特尔当前最具有战略意义的生态布局。相信有了诸如OneAPI之类的高层设计工具,软件工程师和算法专家们就能进一步释放包括FPGA在内的异构系统的底层算力。至于OneAPI未来的表现如何,让我们拭目以待。


OneAPI相关的技术资料和编程指南,已上传至知识星球“老石谈芯-进阶版”,请在文末扫码进入星球查看。


(注:本文仅代表作者个人观点,与任职单位无关。)




往期精选



什么是FPGA工程师的核心竞争力

FPGA在人工智能时代的独特优势

赛灵思新一代计算平台ACAP技术细节全揭秘

英特尔10纳米Agilex FPGA核心技术全解读


更多芯片与FPGA技术解读,欢迎加入知识星球:“老石谈芯-进阶版”,一个关乎技术与观点的互动社区。


硬禾小帮手 -硬件工程师的设计助手

硬禾学堂 -硬件工程师的在线学习平台



电子森林 讲述电子工程师需要掌握的重要技能: PCB设计、FPGA应用、模拟信号链路、电源管理等等;不断刷新的行业新技术 - 树莓派、ESP32、Arduino等开源系统;随时代演进的热点应用 - 物联网、无人驾驶、人工智能....
评论
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球中空长航时无人机产值达到9009百万美元,2024-2030年期间年复合增长率CAGR为8.0%。 环洋市场咨询机构出版了的【全球中空长航时无人机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球中空长航时无人机总体规模,包括产量、产值、消费量、主要生产地区、主要生产商及市场份额,同时分析中空长航时无人机市场主要驱动因素、阻碍因素、市场机遇、挑战、新产品发布等。报告从中空长航时
    GIRtina 2025-01-09 10:35 60浏览
  • 职场是人生的重要战场,既是谋生之地,也是实现个人价值的平台。然而,有些思维方式却会悄无声息地拖住你的后腿,让你原地踏步甚至退步。今天,我们就来聊聊职场中最忌讳的五种思维方式,看看自己有没有中招。1. 固步自封的思维在职场中,最可怕的事情莫过于自满于现状,拒绝学习和改变。世界在不断变化,行业的趋势、技术的革新都在要求我们与时俱进。如果你总觉得自己的方法最优,或者害怕尝试新事物,那就很容易被淘汰。与其等待机会找上门,不如主动出击,保持学习和探索的心态。加入优思学院,可以帮助你快速提升自己,与行业前沿
    优思学院 2025-01-09 15:48 51浏览
  • 在智能网联汽车中,各种通信技术如2G/3G/4G/5G、GNSS(全球导航卫星系统)、V2X(车联网通信)等在行业内被广泛使用。这些技术让汽车能够实现紧急呼叫、在线娱乐、导航等多种功能。EMC测试就是为了确保在复杂电磁环境下,汽车的通信系统仍然可以正常工作,保护驾乘者的安全。参考《QCT-基于LTE-V2X直连通信的车载信息交互系统技术要求及试验方法-1》标准10.5电磁兼容试验方法,下面将会从整车功能层面为大家解读V2X整车电磁兼容试验的过程。测试过程揭秘1. 设备准备为了进行电磁兼容试验,技
    北汇信息 2025-01-09 11:24 67浏览
  • 在过去十年中,自动驾驶和高级驾驶辅助系统(AD/ADAS)软件与硬件的快速发展对多传感器数据采集的设计需求提出了更高的要求。然而,目前仍缺乏能够高质量集成多传感器数据采集的解决方案。康谋ADTF正是应运而生,它提供了一个广受认可和广泛引用的软件框架,包含模块化的标准化应用程序和工具,旨在为ADAS功能的开发提供一站式体验。一、ADTF的关键之处!无论是奥迪、大众、宝马还是梅赛德斯-奔驰:他们都依赖我们不断发展的ADTF来开发智能驾驶辅助解决方案,直至实现自动驾驶的目标。从新功能的最初构思到批量生
    康谋 2025-01-09 10:04 55浏览
  • 一个真正的质量工程师(QE)必须将一件产品设计的“意图”与系统的可制造性、可服务性以及资源在现实中实现设计和产品的能力结合起来。所以,可以说,这确实是一种工程学科。我们常开玩笑说,质量工程师是工程领域里的「侦探」、「警察」或「律师」,守护神是"墨菲”,信奉的哲学就是「墨菲定律」。(注:墨菲定律是一种启发性原则,常被表述为:任何可能出错的事情最终都会出错。)做质量工程师的,有时会不受欢迎,也会被忽视,甚至可能遭遇主动或被动的阻碍,而一旦出了问题,责任往往就落在质量工程师的头上。虽然质量工程师并不负
    优思学院 2025-01-09 11:48 82浏览
  • HDMI 2.2 规格将至,开启视听新境界2025年1月6日,HDMI Forum, Inc. 宣布即将发布HDMI规范2.2版本。新HDMI规范为规模庞大的 HDMI 生态系统带来更多选择,为创建、分发和体验理想的终端用户效果提供更先进的解决方案。新技术为电视、电影和游戏工作室等内容制作商在当前和未来提供更高质量的选择,同时实现多种分发平台。96Gbps的更高带宽和新一代 HDMI 固定比率速率传输(Fixed Rate Link)技术为各种设备应用提供更优质的音频和视频。终端用户显示器能以最
    百佳泰测试实验室 2025-01-09 17:33 60浏览
  • 在当前人工智能(AI)与物联网(IoT)的快速发展趋势下,各行各业的数字转型与自动化进程正以惊人的速度持续进行。如今企业在设计与营运技术系统时所面临的挑战不仅是技术本身,更包含硬件设施、第三方软件及配件等复杂的外部因素。然而这些系统往往讲究更精密的设计与高稳定性,哪怕是任何一个小小的问题,都可能对整体业务运作造成严重影响。 POS应用环境与客户需求以本次分享的客户个案为例,该客户是一家全球领先的信息技术服务与数字解决方案提供商,遭遇到一个由他们所开发的POS机(Point of Sal
    百佳泰测试实验室 2025-01-09 17:35 54浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2025-01-09 09:58 43浏览
  • 1月7日-10日,2025年国际消费电子产品展览会(CES 2025)盛大举行,广和通发布Fibocom AI Stack,赋智千行百业端侧应用。Fibocom AI Stack提供集高性能模组、AI工具链、高性能推理引擎、海量模型、支持与服务一体化的端侧AI解决方案,帮助智能设备快速实现AI能力商用。为适应不同端侧场景的应用,AI Stack具备海量端侧AI模型及行业端侧模型,基于不同等级算力的芯片平台或模组,Fibocom AI Stack可将TensorFlow、PyTorch、ONNX、
    物吾悟小通 2025-01-08 18:17 53浏览
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 107浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦