英特爾對(duì)于未來(lái)計(jì)算的展望和承諾是:SVMS架構(gòu)(S是Scalar標(biāo)量,V是Vector向量,M是Matrix矩陣,S是Space空間),也就是我們前面提到的超異構(gòu)計(jì)算。而在SVNS架構(gòu)之上,英特爾構(gòu)建oneAPI,對(duì)這些硬件進(jìn)行了抽象。開(kāi)發(fā)者針對(duì)的是這個(gè)抽象來(lái)寫(xiě)程序,而不是具體的硬件。在oneAPI是框架和中間件框架提供了更高一層的抽象和語(yǔ)義,開(kāi)發(fā)者可以在上面快速開(kāi)發(fā),高效部署。

我們可以將oneAPI理解成英特爾的中間件層,上面有各種不同類型的行業(yè)應(yīng)用,如果你要調(diào)英特爾底層的硬件,就統(tǒng)一用oneAPI進(jìn)行研發(fā)。比如面向視覺(jué)計(jì)算的OpenVINO就是構(gòu)建在oneAPI之上,支持CPU、FPGA、Movidius、GPU等,編寫(xiě)一次以后可以通過(guò)異構(gòu)的接口支撐跑在其他的硬件平臺(tái)之上。

oneAPI以開(kāi)發(fā)者為中心,是為多架構(gòu)并存的世界重新定義的一種新編程方式,讓開(kāi)發(fā)者可以自由選擇架構(gòu),無(wú)需在性能上作出妥協(xié),也大大降低了使用不同的代碼庫(kù)、編程語(yǔ)言、編程工具和工作流程所帶來(lái)的復(fù)雜性。oneAPI產(chǎn)品為開(kāi)發(fā)者提供了全套的開(kāi)發(fā)工具,包括編譯器、編程庫(kù)、分析器等,并把這些工具封裝為特定領(lǐng)域的工具包。

oneAPI保留了現(xiàn)有軟件投資,包括支持現(xiàn)有語(yǔ)言,同時(shí)為開(kāi)發(fā)人員創(chuàng)造更多豐富的應(yīng)用程序提供了靈活性,幫助他們?cè)诒A衄F(xiàn)有軟件投資的基礎(chǔ)上,搭建一座無(wú)縫連接的橋梁,從而為未來(lái)的多架構(gòu)世界創(chuàng)造更多豐富的應(yīng)用程序。比如oneAPI支持高級(jí)移植、分析和調(diào)試工具,包括英特爾Vtune分析器、英特爾Advisor等,其中英特爾DPC++兼容性工具支持CUDA代碼遷移。

除此以外,oneAPI包括了一項(xiàng)基于開(kāi)放規(guī)范的行業(yè)計(jì)劃,該規(guī)范包括一種編程語(yǔ)言、強(qiáng)大的API函數(shù)庫(kù)以及底層硬件接口。比如Data Parallel C++可提供跨平臺(tái)數(shù)據(jù)并行性支持,而SYCL是全行業(yè)開(kāi)展的一項(xiàng)標(biāo)準(zhǔn)化工作,旨在定義面向C++的跨平臺(tái)數(shù)據(jù)并行性支持。這就意味著各個(gè)不同加速器提供商可以在oneAPI框架里提供對(duì)它自己硬件的支持,其實(shí)已經(jīng)有第三方通過(guò)oneAPI對(duì)于NVIDIA的CUDA進(jìn)行上層的封裝,這樣對(duì)于開(kāi)發(fā)人員來(lái)講,他也可以oneAPI支持NVIDIA的GPU,其想象空間巨大。

開(kāi)發(fā)人員從現(xiàn)在開(kāi)始就可以在英特爾DevCloud for oneAPI上對(duì)基于多種英特爾架構(gòu)(包括英特爾至強(qiáng)可擴(kuò)展處理器、帶集成顯卡的英特爾酷睿處理器、英特爾FPGA如英特爾Arria、Stratix等)的代碼和應(yīng)用進(jìn)行測(cè)試。它是一個(gè)開(kāi)發(fā)系統(tǒng),支持使用英特爾的oneAPI測(cè)試版軟件在所有英特爾CPU、GPU和FPGA上開(kāi)發(fā)、測(cè)試和運(yùn)行工作負(fù)載。用戶無(wú)需下載,無(wú)需購(gòu)買硬件,無(wú)需安裝,無(wú)需設(shè)置和配置,即可使用英特爾oneAPI工具套件,了解 Data Parallel C++,評(píng)估工作負(fù)載,構(gòu)建異構(gòu)應(yīng)用,設(shè)計(jì)項(xiàng)目原型。

目前oneAPI還是Beta測(cè)試版,預(yù)計(jì)2020年Q4發(fā)布正式版。畢竟oneAPI是一個(gè)全新的開(kāi)發(fā)編程模型,足夠長(zhǎng)的測(cè)試期可以收集更多開(kāi)發(fā)人員的反饋,完善產(chǎn)品。只有更多的開(kāi)發(fā)者使用oneAPI,其價(jià)值才會(huì)凸顯出來(lái)。

oneAPI的發(fā)布源自英特爾數(shù)百萬(wàn)小時(shí)軟件工程開(kāi)發(fā)的努力,并且標(biāo)志著一個(gè)行業(yè)內(nèi)的變革,從今天受限、封閉的編程方法演變到一個(gè)開(kāi)放的、基于標(biāo)準(zhǔn)的模式,助力開(kāi)發(fā)人員實(shí)現(xiàn)跨架構(gòu)的參與和創(chuàng)新,為全球開(kāi)發(fā)人員提供一座從現(xiàn)有代碼和技能過(guò)渡到即將來(lái)臨的xPU時(shí)代的橋梁。

oneAPI是英特爾借助軟件力量充分釋放硬件性能這一長(zhǎng)期探索之旅的第一步,也是重要一步。目前英特爾正在與高校、合作伙伴等通過(guò)將oneAPI引入學(xué)校課程、線下Workshop等讓更多開(kāi)發(fā)者認(rèn)識(shí)和使用oneAPI,同時(shí)通過(guò)開(kāi)發(fā)人員指南、培訓(xùn)、英特爾工具支持論壇、ISV和應(yīng)用支持等加速oneAPI的落地。

分享到

songjy

相關(guān)推薦