面向不斷擴展的多元化計算需求,英特爾提出了全新的產(chǎn)品和技術戰(zhàn)略,扎根于六大技術支柱——制程和封裝,架構,內(nèi)存和存儲,互連,安全,軟件。英特爾將通過橫跨這六大技術的全方位計算創(chuàng)新,驅動計算性能的指數(shù)級提升。
針對軟件這一技術支柱,英特爾認為,對于全新硬件架構的每一個數(shù)量級的性能提升潛力,軟件能帶來兩個數(shù)量級的性能提升。對于開發(fā)者來說,擁有一套跨平臺的通用軟件工具,對于獲得性能的指數(shù)級擴展至關重要。為此,英特爾于去年底推出“oneAPI”項目,以簡化跨CPU、GPU、FPGA、人工智能和其它加速器的各種計算引擎的編程開發(fā),并將于今年第四季度發(fā)布開發(fā)者測試版本。
日前,英特爾軟件戰(zhàn)略及技術溝通會在北京召開,英特爾全面介紹了多元化計算時代的技術戰(zhàn)略、深入解讀軟件的產(chǎn)業(yè)意義和戰(zhàn)略布局。
什么是英特爾oneAPI?
英特爾架構、圖形與軟件部副總裁Bill Savage介紹oneAPI
據(jù)英特爾架構、圖形與軟件部副總裁兼計算性能與開發(fā)者產(chǎn)品部門總經(jīng)理William(Bill) Savage介紹,oneAPI始于硬件架構,在數(shù)據(jù)中心里面,今天的架構并不只局限于CPU,還包括GPU、FPGA以及專用的AI芯片,這些分別對應著標量(Scalar)、矢量(Vector)、矩陣(Matrix)和空間(Spatial)的不同計算架構,我們稱之為SVMS架構。
簡單來說,英特爾提出的oneAPI是一種統(tǒng)一的軟件架構,它能夠跨不同的架構、跨不同的廠商,包括除英特爾之外的其他硬件廠商。oneAPI可以從軟件層面來簡化和統(tǒng)一標量、矢量、矩陣和空間的不同硬件架構。
英特爾oneAPI包含兩部分,第一部分是跨架構的編程語言,它是全新的編程語言,很多不同的架構以及廠商都可以使用;第二部分是能夠滿足不同領域需求的跨架構庫的集合。無論是這種全新的編程語言,還是架構庫,重點都放在性能上,因為在數(shù)據(jù)中心里面提供全面的性能是重中之重。
William(Bill) Savage表示:“oneAPI既作為一種規(guī)范同時又是英特爾的一種產(chǎn)品,它可以簡化并且統(tǒng)一跨不同架構以及不同廠商之間的編程,它是一個鼓勵社區(qū)和行業(yè)支持的一種開放、標準的解決方案,為大家提供除了英偉達CUDA之外的另一種選項。”
跨架構的編程語言——Data Parallel C++
英特爾架構、圖形與軟件部副總裁兼編譯器與語言部門總經(jīng)理Alice Chan介紹DPC++
如今,在數(shù)據(jù)中心擁有大量的多元化硬件架構。如果你希望在這樣一個多元化的不同架構中進行編程,必然是需要很多種不同工具以及不同語言。這就意味著在軟件開發(fā)過程中你需要多支團隊,他們各自要去學習很多不同專業(yè)的技能,這顯然不是一種最高效的軟件開發(fā)方式。所以英特爾希望改變這種現(xiàn)狀,并不僅僅是為了英特爾自己的硬件去改變,而是為全行業(yè)去改變。
英特爾架構、圖形與軟件部副總裁兼編譯器與語言部門總經(jīng)理Alice Chan表示:“我們這個全新編程語言的目的就是要實現(xiàn)跨架構,要實現(xiàn)高性能,同時保證是開放的,針對所有軟件開發(fā)者開放,針對所有的硬件廠商開放?!?/p>
多元化架構需要全新的編程語言,現(xiàn)有的C++、MATLAB等可移植編程語言和CUDA、OpenCL等數(shù)據(jù)并行編程語言,都無法滿足需求。英特爾正在與行業(yè)攜手開發(fā)一種全新的語言,支持實現(xiàn)橫跨SVMS架構的數(shù)據(jù)并行編程。
DPC++語言能夠跨SVMS架構為英特爾和行業(yè)提供毫不妥協(xié)的高性能和生產(chǎn)效率,是英特爾現(xiàn)在正在開發(fā)的一種新的語言,它是開放的、基于標準的、高性能的,能夠跨不同的硬件架構提供高性能。
高性能庫推動人工智能和數(shù)據(jù)分析的發(fā)展
英特爾架構、圖形與軟件部首席工程師Eric Lin介紹統(tǒng)一API的優(yōu)勢
在AI和數(shù)據(jù)分析上英特爾的愿景是提供最佳的計算庫,并且針對這些計算庫,把英特爾的硬件變成一個對開發(fā)者非常容易的抽象,使得他們所有的工作能夠重復利用、更簡化。英特爾也會提供工具、方法,使部署者真正地從oneAPI中獲益。
據(jù)英特爾架構、圖形與軟件部首席工程師Eric Lin介紹,oneAPI集成了業(yè)內(nèi)頂級的計算庫,包括最快速、使用最廣泛的數(shù)學函數(shù)庫MKL、使用經(jīng)典機器學習算法的英特爾數(shù)據(jù)分析加速庫DAAL,以及面向深度神經(jīng)網(wǎng)絡的英特爾數(shù)學核心函數(shù)庫MKL-DNN等,充分了解底層硬件如CPU和加速器的所有細節(jié),并為硬件提供最佳性能。
oneAPI面向數(shù)據(jù)科學家和應用開發(fā)者提供跨SVMS架構的統(tǒng)一軟件抽象,讓所有開發(fā)者可隨時獲取高性能。
英特爾的策略就是把庫集成到框架中,框架再提供給數(shù)百萬數(shù)據(jù)科學家、算法工程師,他們使用它開發(fā)出真正的應用。例如,一個庫服務數(shù)萬個框架開發(fā)者,服務數(shù)百萬甚至更多的數(shù)據(jù)科學家,因此把從硬件到應用這條路打通。
Eric Lin表示:“OpenVINO就展示了oneAPI愿景的現(xiàn)實。作為為客戶解決問題的優(yōu)化推理引擎,OpenVINO補充了深度學習框架,支持應用程序開發(fā)者以統(tǒng)一接口跨SVMS架構進行開發(fā)?!?/p>
據(jù)悉,oneAPI已經(jīng)和很多廠商都開始合作。百度方面,在Paddle Paddle的深度學習訓練和推理工作負載中百度非常依賴英特爾至強處理器用于深度學習;Facebook方面,F(xiàn)acebook絕大部分的AI業(yè)務使用了英特爾優(yōu)化的PyTorch來支撐他們每天的業(yè)務,這將幫助Facebook加速每天200萬億次預測和60億次翻譯;Taboola也使用英特爾至強oneAPI,經(jīng)過優(yōu)化之后,達到了2.5倍的提升。
總結:英特爾oneAPI支持直接編程和API編程,并將提供統(tǒng)一的語言和庫,可以在包括CPU、GPU、FPGA和AI加速器等不同硬件上,提供完整的本地代碼性能。oneAPI和高級算法研究與開發(fā)上的投入,在英特爾“讓每一個晶體管都派上用場”的目標中發(fā)揮了深遠影響。英特爾計劃將在2019年第四季度發(fā)布oneAPI開發(fā)者測試版本,并披露更多項目相關細節(jié),讓我們敬請期待。