一個(gè)解決方案 四種架構(gòu) 英特爾oneAPI來了

面向不斷擴(kuò)展的多元化計(jì)算需求,英特爾提出了全新的產(chǎn)品和技術(shù)戰(zhàn)略,扎根于六大技術(shù)支柱——制程和封裝,架構(gòu),內(nèi)存和存儲(chǔ),互連,安全,軟件。英特爾將通過橫跨這六大技術(shù)的全方位計(jì)算創(chuàng)新,驅(qū)動(dòng)計(jì)算性能的指數(shù)級(jí)提升。

針對軟件這一技術(shù)支柱,英特爾認(rèn)為,對于全新硬件架構(gòu)的每一個(gè)數(shù)量級(jí)的性能提升潛力,軟件能帶來兩個(gè)數(shù)量級(jí)的性能提升。對于開發(fā)者來說,擁有一套跨平臺(tái)的通用軟件工具,對于獲得性能的指數(shù)級(jí)擴(kuò)展至關(guān)重要。為此,英特爾于去年底推出“oneAPI”項(xiàng)目,以簡化跨CPU、GPU、FPGA、人工智能和其它加速器的各種計(jì)算引擎的編程開發(fā),并將于今年第四季度發(fā)布開發(fā)者測試版本。

日前,英特爾軟件戰(zhàn)略及技術(shù)溝通會(huì)在北京召開,英特爾全面介紹了多元化計(jì)算時(shí)代的技術(shù)戰(zhàn)略、深入解讀軟件的產(chǎn)業(yè)意義和戰(zhàn)略布局。


什么是英特爾oneAPI?



英特爾架構(gòu)、圖形與軟件部副總裁Bill Savage介紹oneAPI


據(jù)英特爾架構(gòu)、圖形與軟件部副總裁兼計(jì)算性能與開發(fā)者產(chǎn)品部門總經(jīng)理William(Bill) Savage介紹,oneAPI始于硬件架構(gòu),在數(shù)據(jù)中心里面,今天的架構(gòu)并不只局限于CPU,還包括GPU、FPGA以及專用的AI芯片,這些分別對應(yīng)著標(biāo)量(Scalar)、矢量(Vector)、矩陣(Matrix)和空間(Spatial)的不同計(jì)算架構(gòu),我們稱之為SVMS架構(gòu)。

簡單來說,英特爾提出的oneAPI是一種統(tǒng)一的軟件架構(gòu),它能夠跨不同的架構(gòu)、跨不同的廠商,包括除英特爾之外的其他硬件廠商。oneAPI可以從軟件層面來簡化和統(tǒng)一標(biāo)量、矢量、矩陣和空間的不同硬件架構(gòu)。

英特爾oneAPI包含兩部分,第一部分是跨架構(gòu)的編程語言,它是全新的編程語言,很多不同的架構(gòu)以及廠商都可以使用;第二部分是能夠滿足不同領(lǐng)域需求的跨架構(gòu)庫的集合。無論是這種全新的編程語言,還是架構(gòu)庫,重點(diǎn)都放在性能上,因?yàn)樵跀?shù)據(jù)中心里面提供全面的性能是重中之重。

William(Bill) Savage表示:“oneAPI既作為一種規(guī)范同時(shí)又是英特爾的一種產(chǎn)品,它可以簡化并且統(tǒng)一跨不同架構(gòu)以及不同廠商之間的編程,它是一個(gè)鼓勵(lì)社區(qū)和行業(yè)支持的一種開放、標(biāo)準(zhǔn)的解決方案,為大家提供除了英偉達(dá)CUDA之外的另一種選項(xiàng)。”


跨架構(gòu)的編程語言——Data Parallel C++



英特爾架構(gòu)、圖形與軟件部副總裁兼編譯器與語言部門總經(jīng)理Alice Chan介紹DPC++


如今,在數(shù)據(jù)中心擁有大量的多元化硬件架構(gòu)。如果你希望在這樣一個(gè)多元化的不同架構(gòu)中進(jìn)行編程,必然是需要很多種不同工具以及不同語言。這就意味著在軟件開發(fā)過程中你需要多支團(tuán)隊(duì),他們各自要去學(xué)習(xí)很多不同專業(yè)的技能,這顯然不是一種最高效的軟件開發(fā)方式。所以英特爾希望改變這種現(xiàn)狀,并不僅僅是為了英特爾自己的硬件去改變,而是為全行業(yè)去改變。

英特爾架構(gòu)、圖形與軟件部副總裁兼編譯器與語言部門總經(jīng)理Alice Chan表示:“我們這個(gè)全新編程語言的目的就是要實(shí)現(xiàn)跨架構(gòu),要實(shí)現(xiàn)高性能,同時(shí)保證是開放的,針對所有軟件開發(fā)者開放,針對所有的硬件廠商開放?!?/p>

多元化架構(gòu)需要全新的編程語言,現(xiàn)有的C++、MATLAB等可移植編程語言和CUDA、OpenCL等數(shù)據(jù)并行編程語言,都無法滿足需求。英特爾正在與行業(yè)攜手開發(fā)一種全新的語言,支持實(shí)現(xiàn)橫跨SVMS架構(gòu)的數(shù)據(jù)并行編程。

DPC++語言能夠跨SVMS架構(gòu)為英特爾和行業(yè)提供毫不妥協(xié)的高性能和生產(chǎn)效率,是英特爾現(xiàn)在正在開發(fā)的一種新的語言,它是開放的、基于標(biāo)準(zhǔn)的、高性能的,能夠跨不同的硬件架構(gòu)提供高性能。


高性能庫推動(dòng)人工智能和數(shù)據(jù)分析的發(fā)展



英特爾架構(gòu)、圖形與軟件部首席工程師Eric Lin介紹統(tǒng)一API的優(yōu)勢


在AI和數(shù)據(jù)分析上英特爾的愿景是提供最佳的計(jì)算庫,并且針對這些計(jì)算庫,把英特爾的硬件變成一個(gè)對開發(fā)者非常容易的抽象,使得他們所有的工作能夠重復(fù)利用、更簡化。英特爾也會(huì)提供工具、方法,使部署者真正地從oneAPI中獲益。

據(jù)英特爾架構(gòu)、圖形與軟件部首席工程師Eric Lin介紹,oneAPI集成了業(yè)內(nèi)頂級(jí)的計(jì)算庫,包括最快速、使用最廣泛的數(shù)學(xué)函數(shù)庫MKL、使用經(jīng)典機(jī)器學(xué)習(xí)算法的英特爾數(shù)據(jù)分析加速庫DAAL,以及面向深度神經(jīng)網(wǎng)絡(luò)的英特爾數(shù)學(xué)核心函數(shù)庫MKL-DNN等,充分了解底層硬件如CPU和加速器的所有細(xì)節(jié),并為硬件提供最佳性能。

oneAPI面向數(shù)據(jù)科學(xué)家和應(yīng)用開發(fā)者提供跨SVMS架構(gòu)的統(tǒng)一軟件抽象,讓所有開發(fā)者可隨時(shí)獲取高性能。

英特爾的策略就是把庫集成到框架中,框架再提供給數(shù)百萬數(shù)據(jù)科學(xué)家、算法工程師,他們使用它開發(fā)出真正的應(yīng)用。例如,一個(gè)庫服務(wù)數(shù)萬個(gè)框架開發(fā)者,服務(wù)數(shù)百萬甚至更多的數(shù)據(jù)科學(xué)家,因此把從硬件到應(yīng)用這條路打通。

Eric Lin表示:“OpenVINO就展示了oneAPI愿景的現(xiàn)實(shí)。作為為客戶解決問題的優(yōu)化推理引擎,OpenVINO補(bǔ)充了深度學(xué)習(xí)框架,支持應(yīng)用程序開發(fā)者以統(tǒng)一接口跨SVMS架構(gòu)進(jìn)行開發(fā)?!?/p>

據(jù)悉,oneAPI已經(jīng)和很多廠商都開始合作。百度方面,在Paddle Paddle的深度學(xué)習(xí)訓(xùn)練和推理工作負(fù)載中百度非常依賴英特爾至強(qiáng)處理器用于深度學(xué)習(xí);Facebook方面,F(xiàn)acebook絕大部分的AI業(yè)務(wù)使用了英特爾優(yōu)化的PyTorch來支撐他們每天的業(yè)務(wù),這將幫助Facebook加速每天200萬億次預(yù)測和60億次翻譯;Taboola也使用英特爾至強(qiáng)oneAPI,經(jīng)過優(yōu)化之后,達(dá)到了2.5倍的提升。

總結(jié):英特爾oneAPI支持直接編程和API編程,并將提供統(tǒng)一的語言和庫,可以在包括CPU、GPU、FPGA和AI加速器等不同硬件上,提供完整的本地代碼性能。oneAPI和高級(jí)算法研究與開發(fā)上的投入,在英特爾“讓每一個(gè)晶體管都派上用場”的目標(biāo)中發(fā)揮了深遠(yuǎn)影響。英特爾計(jì)劃將在2019年第四季度發(fā)布o(jì)neAPI開發(fā)者測試版本,并披露更多項(xiàng)目相關(guān)細(xì)節(jié),讓我們敬請期待。