《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > OneAPI:天下大同

OneAPI:天下大同

2020-01-23
來源:EETOP
關鍵詞: OneAPI 英特爾

  OneAPI英特爾在生態布局中最重要的一環,這已經不是什么秘密了。早在2018年底舉行的英特爾架構日上,英特爾的芯片首席架構師Raja Koduri就對外公布了公司正在著力研發的一件“大事”:一個名為OneAPI的軟件編程框架。

  OneAPI相關的技術資料和編程指南,已上傳至知識星球“老石談芯-進階版”,請在文末掃碼進入星球查看。

640.webp (2).jpg

  (圖片來自anandTech)

  OneAPI:夢想照進現實?

  顧名思義,OneAPI旨在提供一個適用于各類計算架構的統一編程模型和應用程序接口。也就是說,應用程序的開發者只需要開發一次代碼,就可以讓代碼在跨平臺的異構系統上執行,底層的硬件架構可以是CPU、GPU、FPGA、神經網絡處理器,或者其他針對不同應用的硬件加速器等等。

  OneAPI的口號是“No transistor left behind”,老石把它翻譯成“晶體管一個也不能少”,這也很形象的總結了OneAPI的終極目標。

640.webp (1).jpg

  很多人在看到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

640.webp.jpg

  這四類架構分別有各自的優勢和適用范圍,同時也有著各自的編程模型和方法。

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

  也就是說,FPGA開發者需要將待實現的算法進行分解、并行化、設計流水線,使其成為一個個數據通路或控制電路,同時還要設計數據的存儲和讀取方式、各種時鐘域的同步、進行時序收斂等諸多優化,以符合系統的功耗、吞吐量、精度、面積等需求。這還不包括電路仿真、調試,以及在軟件層面需要做的一系列工作。

  這樣,為了做出一個真正優化過的FPGA設計,往往需要一個有著豐富設計經驗的團隊協同合作。而就算有這樣的團隊,在處理一個再常見不過的for循環嵌套時,都可能花費長達數月的時間進行FPGA的硬件實現與性能調優。只需要看一下過去幾年里,各類國際頂會和期刊上有多少關于FPGA循環展開與優化的論文就可見一斑了。

  為了應對FPGA的設計復雜度過大的問題,業界通常有兩種方法:第一,盡量將優化過的硬件設計封裝成IP,讓使用者直接調用。第二,使用諸如高層次綜合(HLS)的方法,直接將高層語言描述的模型轉化為FPGA硬件。

640.jpg

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

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

  OneAPI在很大程度上可以看做是HLS的擴展,但它的主要目標受眾則是軟件和算法工程師,這也將成為OneAPI與其他HLS工具的最主要區別。OneAPI提供了一個統一的軟件編程接口,使得開發者可以隨意在底層硬件之間進行切換和優化,而無需太多關心具體的電路結構和細節。

640.webp (10).jpg

  DPC++語言與硬件加速庫

  具體來說,OneAPI的核心是一個名為Data Parallel C++(DPC++)的編程語言。DPC++本質上是C++的擴展,增加了對SYCL的支持。

  SYCL由Khronos組織開發,它是一個在OpenCL上的C++抽象層,使得用戶可以直接用簡潔的C++對GPU等進行開發,而無需被OpenCL限制。

  不過,有關DPC++本身的資料目前還比較有限,尚不清楚其具體的開發方法、以及如何對異構系統進行編程。待具體實例出現后,老石再進行詳細解讀。

  除了編程接口外,OneAPI還會包含一個完整的開發環境、軟件庫、驅動程序、調試工具等要素,并且這些加速庫都已經針對底層硬件進行了優化設計。

  這種基于優化過的加速庫的設計,和賽靈思的Vitis系統有著異曲同工之妙,而這也恰恰代表了業界發展的方向。現如今,生態為王,為了掌握生態和開發者,就必須盡可能多的提供各類開發庫和IP,以便開發者專注于應用開發,而無需重復造輪子。

640.webp (9).jpg

  (圖片來自英特爾)

  為了支持SVMS四大類硬件架構,OneAPI實際上給自己設置了非常高的目標。英特爾已經在2019年四季度發布了OneAPI的開發者測試版。除了基本工開發工具包之外,英特爾還發布了針對高性能計算(HPC)、深度學習、IoT、以及視覺和視頻等四種領域專用的開發工具包,以期為這些特定的應用進行針對性的優化。在當前的版本中,開發者仍然需要在SVMS四大類中手動指定目標器件類別。但除此之外,OneAPI就會自動對目標器件的子類別進行優化。

  結語

  兵法云,兵馬未動,糧草先行。在技術進步日新月異的當代,各類AI芯片、硬件加速器不斷涌現,異構計算已經成為整個行業最重要的趨勢。針對這些層出不窮的新硬件,則更應該“架構未動,軟件先行”。作為芯片廠商,單純提供芯片產品已經無法滿足市場和使用者的需要,只有同時提供硬件和軟件生態,才能在激烈的競爭中殺出一席之地。

  老石認為,OneAPI是英特爾當前最具有戰略意義的生態布局。相信有了諸如OneAPI之類的高層設計工具,軟件工程師和算法專家們就能進一步釋放包括FPGA在內的異構系統的底層算力。至于OneAPI未來的表現如何,讓我們拭目以待。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲男人第一网站| 亚洲精品视频免费观看| 在线日本成人| 国产欧美一区二区白浆黑人| 欧美日精品一区视频| 欧美精品亚洲精品| 欧美激情一区二区在线 | 久久不射2019中文字幕| 亚洲一区免费| 亚洲宅男天堂在线观看无病毒| 中文日韩在线视频| 中文精品视频一区二区在线观看| 日韩香蕉视频| 99视频一区二区| 一区二区三区欧美在线观看| 一区二区三区精品视频| 亚洲视频在线视频| 亚洲在线中文字幕| 午夜精品一区二区三区电影天堂| 亚洲欧美另类在线| 欧美一区=区| 久久九九热re6这里有精品| 久久大香伊蕉在人线观看热2| 欧美在线视屏| 久久亚洲一区| 欧美高清日韩| 欧美日韩成人在线| 国产精品久久福利| 国产精品综合久久久| 国产一区二区黄色| 永久免费视频成人| 亚洲靠逼com| 亚洲综合成人婷婷小说| 欧美在线免费视频| 亚洲欧洲一区二区三区在线观看| 亚洲美女色禁图| 亚洲在线一区| 久久久久久999| 欧美成人一区在线| 国产精品av一区二区| 国产欧美高清| 在线免费观看日韩欧美| 亚洲精品视频在线观看免费| 亚洲视频axxx| 久久精品女人的天堂av| 99在线精品观看| 欧美一区二区三区婷婷月色 | 欧美大色视频| 欧美日韩亚洲综合| 国产麻豆精品在线观看| 禁久久精品乱码| 亚洲精品综合| 午夜精品婷婷| 99国产精品视频免费观看一公开| 亚洲欧美成aⅴ人在线观看| 久久婷婷成人综合色| 欧美精品一区在线发布| 国产欧美日韩综合精品二区| 亚洲国产aⅴ天堂久久| 在线视频你懂得一区| 欧美中文字幕不卡| 一区二区激情视频| 久久人人爽人人爽爽久久| 欧美精品一区二区三区高清aⅴ| 国产精品手机在线| 在线欧美视频| 亚洲欧美在线x视频| 亚洲精品在线电影| 久久成人资源| 欧美午夜精品一区| 在线观看亚洲专区| 亚洲欧美成人网| 一区电影在线观看| 久久资源av| 国产麻豆视频精品| 日韩视频免费| 亚洲国产精品一区二区www| 午夜精品久久久久影视| 欧美激情1区2区| 好吊视频一区二区三区四区 | 一区二区三区精品| 国产区亚洲区欧美区| 99精品视频免费在线观看| 久久国产福利国产秒拍| 亚洲欧美一区二区原创| 欧美国产第二页| 国内精品久久久久影院薰衣草| 中文日韩在线| 一区二区三区视频在线播放| 欧美成人免费视频| 国产在线观看精品一区二区三区| 亚洲午夜影视影院在线观看| 一本色道久久综合亚洲精品不卡| 你懂的国产精品| 国产一区二区三区日韩欧美| 中国成人黄色视屏| 99在线精品视频在线观看| 免费在线成人| 在线不卡欧美| 亚洲高清不卡一区| 久久久久国色av免费观看性色| 国产精品久久一级| 一本一本久久a久久精品牛牛影视| 亚洲人成在线影院| 玖玖视频精品| 韩国精品久久久999| 新狼窝色av性久久久久久| 亚洲免费一级电影| 欧美日韩在线影院| 日韩视频精品在线| 一区二区电影免费观看| 欧美高清自拍一区| 亚洲国产精品久久91精品| 久久国产福利国产秒拍| 久久久www| 狠狠色综合网| 久久精品国产亚洲aⅴ| 久久久久久夜精品精品免费| 国产亚洲欧美日韩日本| 午夜激情亚洲| 久久成人亚洲| 国产在线拍偷自揄拍精品| 欧美在线不卡| 理论片一区二区在线| 樱桃成人精品视频在线播放| 亚洲国产成人tv| 嫩草国产精品入口| 亚洲国产精品一区制服丝袜 | 久久精品女人天堂| 国产亚洲精品久久久久久| 欧美一级大片在线观看| 久久九九电影| 雨宫琴音一区二区在线| 亚洲黄色小视频| 欧美精品成人在线| 亚洲精品中文字| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品h在线观看| 亚洲一区二区高清视频| 欧美主播一区二区三区| 国内视频一区| 亚洲伦理在线免费看| 欧美日韩亚洲一区| 亚洲自啪免费| 久久久亚洲国产天美传媒修理工 | 亚洲欧美在线另类| 久久精品视频在线看| 影音先锋日韩精品| 99精品国产99久久久久久福利| 欧美日韩在线三级| 亚洲欧美激情诱惑| 久久久噜噜噜久久久| 亚洲国产色一区| 亚洲网站视频| 国产欧美婷婷中文| 久久精品一本久久99精品| 欧美高清视频一区二区三区在线观看| 亚洲欧洲日韩女同| 亚洲一区二区欧美日韩| 国产欧美日韩高清| 最新热久久免费视频| 欧美日韩专区在线| 欧美专区在线| 欧美精品一区二区在线观看| 亚洲视频 欧洲视频| 久久免费国产精品1| 91久久久亚洲精品| 欧美在线观看一二区| 亚洲国产高清在线| 亚洲一区二区三区国产| 国产综合婷婷| 亚洲影视九九影院在线观看| 狠狠色丁香婷婷综合影院| 一本大道久久a久久综合婷婷 | 91久久精品www人人做人人爽| 欧美日一区二区在线观看| 欧美一区二区三区在线免费观看| 欧美激情亚洲视频| 性18欧美另类| 欧美日韩精品是欧美日韩精品| 亚洲欧美日韩视频一区| 男女av一区三区二区色多| 亚洲香蕉视频| 欧美韩国在线| 午夜视频在线观看一区二区| 欧美暴力喷水在线| 亚洲欧美日韩在线| 欧美屁股在线| 亚洲成色999久久网站| 国产精品红桃| 亚洲精品一区二区三区樱花 | 99国产精品久久久| 久久五月天婷婷| 亚洲一区二区伦理| 欧美精品七区| 久久精品一区四区| 国产精品普通话对白| 99视频在线观看一区三区| 激情小说亚洲一区| 久久成人18免费观看|