《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > OneAPI:天下大同

OneAPI:天下大同

2020-01-23
來(lái)源:EETOP
關(guān)鍵詞: OneAPI 英特爾

  OneAPI英特爾在生態(tài)布局中最重要的一環(huán),這已經(jīng)不是什么秘密了。早在2018年底舉行的英特爾架構(gòu)日上,英特爾的芯片首席架構(gòu)師Raja Koduri就對(duì)外公布了公司正在著力研發(fā)的一件“大事”:一個(gè)名為OneAPI的軟件編程框架。

  OneAPI相關(guān)的技術(shù)資料和編程指南,已上傳至知識(shí)星球“老石談芯-進(jìn)階版”,請(qǐng)?jiān)谖哪叽a進(jìn)入星球查看。

640.webp (2).jpg

  (圖片來(lái)自anandTech)

  OneAPI:夢(mèng)想照進(jìn)現(xiàn)實(shí)?

  顧名思義,OneAPI旨在提供一個(gè)適用于各類計(jì)算架構(gòu)的統(tǒng)一編程模型和應(yīng)用程序接口。也就是說(shuō),應(yīng)用程序的開發(fā)者只需要開發(fā)一次代碼,就可以讓代碼在跨平臺(tái)的異構(gòu)系統(tǒng)上執(zhí)行,底層的硬件架構(gòu)可以是CPU、GPU、FPGA、神經(jīng)網(wǎng)絡(luò)處理器,或者其他針對(duì)不同應(yīng)用的硬件加速器等等。

  OneAPI的口號(hào)是“No transistor left behind”,老石把它翻譯成“晶體管一個(gè)也不能少”,這也很形象的總結(jié)了OneAPI的終極目標(biāo)。

640.webp (1).jpg

  很多人在看到OneAPI之后的第一反應(yīng),都是三個(gè)字:不可能。有些略顯極端的媒體甚至認(rèn)為,OneAPI已經(jīng)超出科幻小說(shuō)的范疇,實(shí)在難以置信。

  這些懷疑的聲音并非毫無(wú)依據(jù),應(yīng)用程序的跨平臺(tái)優(yōu)化一直是業(yè)界研究的熱點(diǎn)和重點(diǎn)之一。而OneAPI希望一次性解決四個(gè)硬件架構(gòu)的異構(gòu)編程問題,無(wú)異于在游戲開始就選擇了地獄難度。

  夢(mèng)想還是要有的,萬(wàn)一實(shí)現(xiàn)了呢?

  對(duì)于大多數(shù)應(yīng)用程序的開發(fā)者來(lái)說(shuō),使用高級(jí)語(yǔ)言編程已經(jīng)成為了再平常不過的事情。試想一下,你上一次寫C++或Python、并需要知道特定處理器指令的操作碼是什么時(shí)候?

  事實(shí)上,現(xiàn)有的高級(jí)語(yǔ)言編譯器已經(jīng)很好的將程序開發(fā)與底層的計(jì)算機(jī)體系結(jié)構(gòu)分離開來(lái)。這使得應(yīng)用程序開發(fā)者可以專注于算法和應(yīng)用的開發(fā),而無(wú)需關(guān)心太多底層的CPU究竟如何實(shí)現(xiàn)程序。

  然而,隨著應(yīng)用的復(fù)雜性不斷增加,對(duì)算力的要求也逐漸加大。此時(shí),單純依靠堆積CPU內(nèi)核已經(jīng)無(wú)法滿足應(yīng)用程序?qū)τ谛阅堋?shí)時(shí)性、功耗、成本等等的要求。人們開始使用越來(lái)越多的非CPU計(jì)算單元,比如GPU、FPGA、以及各種針對(duì)不同應(yīng)用而開發(fā)的專用芯片等。這些硬件加速器與CPU一起組成了復(fù)雜的異構(gòu)平臺(tái)。

  為了發(fā)揮這個(gè)異構(gòu)平臺(tái)的最大性能,開發(fā)者需要深入了解底層硬件的體系結(jié)構(gòu),以及一系列的特定開發(fā)手段和技巧,以便針對(duì)性的利用各個(gè)異構(gòu)單元的優(yōu)勢(shì)。

  拿FPGA來(lái)說(shuō),如果按開發(fā)軟件的思路去開發(fā)FPGA硬件,比如使用了各種循環(huán)嵌套、多層條件分支等等,恐怕只會(huì)得到一個(gè)連時(shí)序都無(wú)法收斂的FPGA設(shè)計(jì)。同樣的,如果想用GPU做一些加速運(yùn)算,那么最好在團(tuán)隊(duì)中有人對(duì)CUDA或OpenCL等有豐富的經(jīng)驗(yàn),否則就有可能白白消耗了GPU的高功耗而收效甚微。

  這里只有一個(gè)問題:對(duì)于普通的軟件工程師或算法工程師而言,了解和掌握這些硬件相關(guān)的開發(fā)知識(shí)幾乎是不可能的。

  而這正是OneAPI希望解決的痛點(diǎn)(引自英特爾):

  “OneAPI 提供一個(gè)通用、開放的編程體驗(yàn),讓開發(fā)者可以自由選擇架構(gòu),無(wú)需在性能上作出妥協(xié),也大大降低了使用不同的代碼庫(kù)、編程語(yǔ)言、編程工具和工作流程所帶來(lái)的復(fù)雜性”。

  OneAPI:HLS的進(jìn)化形態(tài)?

  具體來(lái)說(shuō),英特爾將旗下的芯片架構(gòu)分成了SVMS四類,即:

  標(biāo)量(Scalar):CPU

  矢量(Vector):GPU

  矩陣(Matrix):AI芯片

  空間(Special):FPGA

640.webp.jpg

  這四類架構(gòu)分別有各自的優(yōu)勢(shì)和適用范圍,同時(shí)也有著各自的編程模型和方法。

  以FPGA為例,F(xiàn)PGA的硬件可編程性一直是它最主要的特點(diǎn),也是與其他硬件加速器相區(qū)分的重要特性。然而,對(duì)FPGA進(jìn)行編程遠(yuǎn)遠(yuǎn)沒有聽起來(lái)那么簡(jiǎn)單,這在老石之前的文章中也詳細(xì)介紹過多次。其中最大的難點(diǎn),就是要使用硬件描述語(yǔ)言(HDL)對(duì)電路行為進(jìn)行建模,而且這種建模往往有著比較低的抽象程度。

  也就是說(shuō),F(xiàn)PGA開發(fā)者需要將待實(shí)現(xiàn)的算法進(jìn)行分解、并行化、設(shè)計(jì)流水線,使其成為一個(gè)個(gè)數(shù)據(jù)通路或控制電路,同時(shí)還要設(shè)計(jì)數(shù)據(jù)的存儲(chǔ)和讀取方式、各種時(shí)鐘域的同步、進(jìn)行時(shí)序收斂等諸多優(yōu)化,以符合系統(tǒng)的功耗、吞吐量、精度、面積等需求。這還不包括電路仿真、調(diào)試,以及在軟件層面需要做的一系列工作。

  這樣,為了做出一個(gè)真正優(yōu)化過的FPGA設(shè)計(jì),往往需要一個(gè)有著豐富設(shè)計(jì)經(jīng)驗(yàn)的團(tuán)隊(duì)協(xié)同合作。而就算有這樣的團(tuán)隊(duì),在處理一個(gè)再常見不過的for循環(huán)嵌套時(shí),都可能花費(fèi)長(zhǎng)達(dá)數(shù)月的時(shí)間進(jìn)行FPGA的硬件實(shí)現(xiàn)與性能調(diào)優(yōu)。只需要看一下過去幾年里,各類國(guó)際頂會(huì)和期刊上有多少關(guān)于FPGA循環(huán)展開與優(yōu)化的論文就可見一斑了。

  為了應(yīng)對(duì)FPGA的設(shè)計(jì)復(fù)雜度過大的問題,業(yè)界通常有兩種方法:第一,盡量將優(yōu)化過的硬件設(shè)計(jì)封裝成IP,讓使用者直接調(diào)用。第二,使用諸如高層次綜合(HLS)的方法,直接將高層語(yǔ)言描述的模型轉(zhuǎn)化為FPGA硬件。

640.jpg

  HLS一直是FPGA業(yè)界發(fā)展的重要方向,幾乎沒有之一。老石在之前的文章《高層次綜合 – 解鎖FPGA廣闊應(yīng)用的最后一塊拼圖》中曾經(jīng)詳細(xì)分析過,這里不再贅述,有興趣的讀者可以參考那篇文章。

  HLS的主要問題是,它設(shè)計(jì)的初衷是為了硬件工程師服務(wù),而非軟件和算法開發(fā)者。因此,起碼到目前為止,在業(yè)界取得成功的HLS工具都需要使用者有著豐富的硬件知識(shí)。在數(shù)字電路工程師手中,HLS工具已經(jīng)被證明可以極大的縮短設(shè)計(jì)周期,有時(shí)甚至可以得到近似或優(yōu)于人工優(yōu)化過的RTL代碼。然而對(duì)于軟件工程師,HLS就好比讓C羅去湖人隊(duì)打籃球,固然噱頭十足,但很難得到令人滿意的成績(jī)。

  OneAPI在很大程度上可以看做是HLS的擴(kuò)展,但它的主要目標(biāo)受眾則是軟件和算法工程師,這也將成為OneAPI與其他HLS工具的最主要區(qū)別。OneAPI提供了一個(gè)統(tǒng)一的軟件編程接口,使得開發(fā)者可以隨意在底層硬件之間進(jìn)行切換和優(yōu)化,而無(wú)需太多關(guān)心具體的電路結(jié)構(gòu)和細(xì)節(jié)。

640.webp (10).jpg

  DPC++語(yǔ)言與硬件加速庫(kù)

  具體來(lái)說(shuō),OneAPI的核心是一個(gè)名為Data Parallel C++(DPC++)的編程語(yǔ)言。DPC++本質(zhì)上是C++的擴(kuò)展,增加了對(duì)SYCL的支持。

  SYCL由Khronos組織開發(fā),它是一個(gè)在OpenCL上的C++抽象層,使得用戶可以直接用簡(jiǎn)潔的C++對(duì)GPU等進(jìn)行開發(fā),而無(wú)需被OpenCL限制。

  不過,有關(guān)DPC++本身的資料目前還比較有限,尚不清楚其具體的開發(fā)方法、以及如何對(duì)異構(gòu)系統(tǒng)進(jìn)行編程。待具體實(shí)例出現(xiàn)后,老石再進(jìn)行詳細(xì)解讀。

  除了編程接口外,OneAPI還會(huì)包含一個(gè)完整的開發(fā)環(huán)境、軟件庫(kù)、驅(qū)動(dòng)程序、調(diào)試工具等要素,并且這些加速庫(kù)都已經(jīng)針對(duì)底層硬件進(jìn)行了優(yōu)化設(shè)計(jì)。

  這種基于優(yōu)化過的加速庫(kù)的設(shè)計(jì),和賽靈思的Vitis系統(tǒng)有著異曲同工之妙,而這也恰恰代表了業(yè)界發(fā)展的方向。現(xiàn)如今,生態(tài)為王,為了掌握生態(tài)和開發(fā)者,就必須盡可能多的提供各類開發(fā)庫(kù)和IP,以便開發(fā)者專注于應(yīng)用開發(fā),而無(wú)需重復(fù)造輪子。

640.webp (9).jpg

  (圖片來(lái)自英特爾)

  為了支持SVMS四大類硬件架構(gòu),OneAPI實(shí)際上給自己設(shè)置了非常高的目標(biāo)。英特爾已經(jīng)在2019年四季度發(fā)布了OneAPI的開發(fā)者測(cè)試版。除了基本工開發(fā)工具包之外,英特爾還發(fā)布了針對(duì)高性能計(jì)算(HPC)、深度學(xué)習(xí)、IoT、以及視覺和視頻等四種領(lǐng)域?qū)S玫拈_發(fā)工具包,以期為這些特定的應(yīng)用進(jìn)行針對(duì)性的優(yōu)化。在當(dāng)前的版本中,開發(fā)者仍然需要在SVMS四大類中手動(dòng)指定目標(biāo)器件類別。但除此之外,OneAPI就會(huì)自動(dòng)對(duì)目標(biāo)器件的子類別進(jìn)行優(yōu)化。

  結(jié)語(yǔ)

  兵法云,兵馬未動(dòng),糧草先行。在技術(shù)進(jìn)步日新月異的當(dāng)代,各類AI芯片、硬件加速器不斷涌現(xiàn),異構(gòu)計(jì)算已經(jīng)成為整個(gè)行業(yè)最重要的趨勢(shì)。針對(duì)這些層出不窮的新硬件,則更應(yīng)該“架構(gòu)未動(dòng),軟件先行”。作為芯片廠商,單純提供芯片產(chǎn)品已經(jīng)無(wú)法滿足市場(chǎng)和使用者的需要,只有同時(shí)提供硬件和軟件生態(tài),才能在激烈的競(jìng)爭(zhēng)中殺出一席之地。

  老石認(rèn)為,OneAPI是英特爾當(dāng)前最具有戰(zhàn)略意義的生態(tài)布局。相信有了諸如OneAPI之類的高層設(shè)計(jì)工具,軟件工程師和算法專家們就能進(jìn)一步釋放包括FPGA在內(nèi)的異構(gòu)系統(tǒng)的底層算力。至于OneAPI未來(lái)的表現(xiàn)如何,讓我們拭目以待。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久国产精品色婷婷| 日韩午夜三级在线| 国产欧美日韩三级| 欧美va天堂| 亚洲欧洲99久久| 亚洲国产国产亚洲一二三| 一本不卡影院| 精品成人国产在线观看男人呻吟| 欧美日韩国产一区二区三区| 久久久青草青青国产亚洲免观| 99精品视频免费观看视频| 欧美一区二区女人| 精品成人在线视频| 国产女主播视频一区二区| 欧美黑人一区二区三区| 久久gogo国模裸体人体| 一区二区三区四区五区视频| 亚洲福利在线看| 亚洲欧美bt| 在线视频欧美日韩| 亚洲麻豆一区| 亚洲国产美女精品久久久久∴| 国产欧美一区二区精品性色| 久久精品人人做人人爽| 亚洲在线1234| 一区二区三区欧美在线观看| 亚洲国产日韩欧美在线图片| 欧美亚洲视频一区二区| 这里只有精品视频| 亚洲人成77777在线观看网| 国产一区二区三区久久 | 久久天堂av综合合色| 午夜在线播放视频欧美| 亚洲午夜高清视频| 一区二区欧美在线| 亚洲免费观看高清完整版在线观看| 亚洲国产成人av在线| 亚洲区一区二| 亚洲国产精品久久久久秋霞蜜臀| 一区二区在线视频观看| 国产主播一区二区三区四区| 国产午夜精品久久| 国产一区二区三区丝袜| 国产模特精品视频久久久久| 国产免费一区二区三区香蕉精| 国产精品视频一区二区高潮| 国产精品欧美在线| 国产精品日韩在线| 国产精品网站在线播放| 国产精品免费看| 欧美精品九九| 欧美精品一卡二卡| 欧美日韩国产首页| 欧美午夜免费| 国产精品乱码人人做人人爱| 国产精品嫩草99a| 国产伦精品一区二区三区视频黑人| 国产麻豆一精品一av一免费| 国产精品私拍pans大尺度在线| 欧美无乱码久久久免费午夜一区| 国产精品成人午夜| 狠狠色综合日日| 亚洲免费精品| 久久精品盗摄| 亚洲视频999| 久久久久久久久久久久久久一区 | 久久不见久久见免费视频1| 99re成人精品视频| 久久黄色影院| 欧美男人的天堂| 国产一区二区三区av电影| 亚洲欧洲在线看| 小处雏高清一区二区三区| 亚洲免费观看视频| 欧美中文在线观看| 欧美日韩亚洲不卡| 亚洲成人直播| 先锋影音网一区二区| 日韩一级精品| 久久久夜夜夜| 国产精品久久久久久亚洲调教| 在线观看精品| 欧美亚洲一区二区在线| 一区二区三区**美女毛片| 久久香蕉国产线看观看网| 国产精品福利在线| 亚洲日韩视频| 久久精品99无色码中文字幕| 亚洲欧美日韩直播| 欧美日韩精品福利| 在线观看一区欧美| 欧美在线观看日本一区| 亚洲在线中文字幕| 欧美精品激情在线| 在线观看欧美日韩| 销魂美女一区二区三区视频在线| 国产精品99久久久久久白浆小说| 蜜臀av一级做a爰片久久| 国产日韩专区| 亚洲制服少妇| 亚洲免费视频一区二区| 欧美日韩精品系列| 亚洲东热激情| 久久精品道一区二区三区| 欧美一级电影久久| 欧美性做爰猛烈叫床潮| 亚洲六月丁香色婷婷综合久久| 亚洲国产一成人久久精品| 久久国产精品电影| 国产精品视频网| 亚洲午夜精品网| 亚洲视频在线一区| 欧美精品在线视频| 亚洲国产精品一区二区第一页 | 亚洲免费在线播放| 欧美三级小说| 一本色道久久综合狠狠躁的推荐| 亚洲日韩欧美视频一区| 久久亚洲欧美| 韩日在线一区| 亚洲国产婷婷| 欧美大片免费久久精品三p| 在线视频成人| 91久久久一线二线三线品牌| 另类专区欧美制服同性| 国内外成人免费激情在线视频| 午夜在线精品| 久久精品国产亚洲一区二区三区 | 一区二区高清视频| 欧美日韩黄色一区二区| 亚洲精品婷婷| 在线一区二区日韩| 国产精品v欧美精品∨日韩| 一本久久青青| 亚洲专区在线视频| 欧美午夜在线视频| 亚洲自拍偷拍网址| 亚洲欧美视频在线观看视频| 国产精品日韩| 亚洲综合三区| 久久成人免费网| 国内精品久久久久久久果冻传媒| 亚洲国产精品成人综合色在线婷婷| 久久亚洲图片| 91久久精品国产91性色tv| 妖精视频成人观看www| 欧美午夜理伦三级在线观看| 亚洲一区二区三区在线播放| 欧美一区二区三区另类| 国产综合欧美在线看| 亚洲欧洲日本国产| 欧美日本在线视频| 亚洲先锋成人| 久久九九热免费视频| 亚洲第一区在线| 一区二区冒白浆视频| 国产精品理论片在线观看| 欧美一级理论片| 免费成人高清视频| 99精品视频免费观看| 欧美一区二区三区免费视频| 黄色成人在线网站| 一本综合久久| 国产三级精品在线不卡| 亚洲精品日韩精品| 国产精品v亚洲精品v日韩精品| 香港久久久电影| 免费日韩av| 在线中文字幕日韩| 久久亚洲电影| 一区二区三区精品视频| 久久精品一区二区三区不卡牛牛 | 欧美成人精品| 亚洲天堂久久| 另类专区欧美制服同性| 99视频一区| 久久网站热最新地址| 亚洲欧洲一二三| 久久精品国产第一区二区三区| 亚洲韩日在线| 午夜精品福利一区二区三区av| 韩日视频一区| 亚洲影院色无极综合| 尤物在线精品| 午夜久久久久久| 亚洲国产精品黑人久久久| 亚洲欧美日韩在线综合| 怡红院精品视频| 午夜激情综合网| 亚洲国产你懂的| 久久av一区二区三区亚洲| 亚洲精品午夜精品| 久久视频这里只有精品| 中国女人久久久| 欧美大片91| 久久9热精品视频| 国产精品免费一区二区三区在线观看| 亚洲精品一区二| 国产在线播精品第三| 亚洲女女做受ⅹxx高潮|