英特爾用oneAPI軟件策略,面對(duì)異構(gòu)挑戰(zhàn)

回顧過(guò)去35到40年間計(jì)算的發(fā)展歷程,計(jì)算力的增長(zhǎng)速率呈指數(shù)級(jí)上升,從萬(wàn)物數(shù)字化、萬(wàn)物互聯(lián)、萬(wàn)物移動(dòng)化到萬(wàn)物云化,當(dāng)前進(jìn)入萬(wàn)物智能化。

在PC時(shí)代,互聯(lián)網(wǎng)用戶增長(zhǎng)了十億人。硬件和軟件結(jié)合的典型例子就是PC上X86架構(gòu)和Windows系統(tǒng)的結(jié)合。

進(jìn)入移動(dòng)化時(shí)代,從10億的互聯(lián)網(wǎng)用戶增長(zhǎng)到100億的設(shè)備,呈現(xiàn)10倍的增長(zhǎng)。硬件和軟件的結(jié)合也發(fā)生了變化,變成了ARM架構(gòu)和iOS及Android操作系統(tǒng),同時(shí)Linux系統(tǒng)和X86平臺(tái)也占據(jù)一部分市場(chǎng)。從10億到100億,實(shí)現(xiàn)的是指數(shù)級(jí)的增長(zhǎng)。

進(jìn)入以數(shù)據(jù)為中心的時(shí)代,異構(gòu)計(jì)算也隨之出現(xiàn)。

以往CPU、GPU、FPGA等,均可以獨(dú)當(dāng)一面。而當(dāng)下,傳統(tǒng)的通用架構(gòu)已遠(yuǎn)不能滿足需求。CPU、GPU、FPGA甚至AI加速器等多種架構(gòu)之間組合,方能招架得住處理數(shù)據(jù)密集型、復(fù)雜的工作負(fù)載。未來(lái),這種異構(gòu)計(jì)算將成為常態(tài)。

一、應(yīng)對(duì)多架構(gòu)挑戰(zhàn) oneAPI應(yīng)運(yùn)而生

當(dāng)前,不管是CPU、GPU、FPGA等哪一個(gè)硬件平臺(tái)往往都需要開發(fā)者維護(hù)獨(dú)立的代碼庫(kù),這些代碼庫(kù)需要使用不同的語(yǔ)言、庫(kù)和軟件工具進(jìn)行編程。這是一項(xiàng)極其復(fù)雜和耗費(fèi)時(shí)間的工作,大大降低開發(fā)速度、抑制創(chuàng)新。

具體而言,異構(gòu)計(jì)算使得一個(gè)用戶可能在同一個(gè)數(shù)據(jù)中心里既需要CPU里做虛擬機(jī),又需要FPGA來(lái)做各種解壓縮或者加速器,還需要GPU來(lái)做深度學(xué)習(xí)或者人工智能。這就需要在數(shù)據(jù)中心里安各種各樣的硬件,跑各種各樣的軟件。如果還是各自為政的話,對(duì)于用戶來(lái)說(shuō),就算應(yīng)用將來(lái)要擴(kuò)容、硬件平臺(tái)將來(lái)要升級(jí),都是成本很高的一件事。甚至此前做的都全白做了。

為了解決這一難題,oneAPI應(yīng)運(yùn)而生。oneAPI是一個(gè)以開發(fā)者為中心的平臺(tái),簡(jiǎn)化多架構(gòu)編程的一個(gè)統(tǒng)一編程模型,開發(fā)者可以自由選擇架構(gòu),大大降低了使用不同的代碼庫(kù)、編程語(yǔ)言、編程工具和工作流程所帶來(lái)的復(fù)雜性。oneAPI采用統(tǒng)一、簡(jiǎn)化的語(yǔ)言和函數(shù)庫(kù),用于表達(dá)并行化,且基于行業(yè)標(biāo)準(zhǔn)和開放式規(guī)范,能夠與現(xiàn)有 HPC 編程模型互操作。

oneAPI包括了一項(xiàng)基于開放規(guī)范的行業(yè)計(jì)劃和一款beta產(chǎn)品。該規(guī)范包括一種編程語(yǔ)言、強(qiáng)大的API函數(shù)庫(kù)以及底層硬件接口。oneAPI beta產(chǎn)品為開發(fā)者提供了全套的開發(fā)工具,包括編譯器、編程庫(kù)、分析器等,并把這些工具封裝為特定領(lǐng)域的工具包。初期oneAPI beta版主要面向英特爾?至強(qiáng)?可擴(kuò)展處理器、帶集成顯卡的英特爾?酷睿?處理器,以及英特爾? FPGA,未來(lái)還將支持更多硬件。

oneAPI將實(shí)現(xiàn)與現(xiàn)有行業(yè)標(biāo)準(zhǔn)的互操作性。oneAPI開放式規(guī)范包括一種跨架構(gòu)的編程語(yǔ)言Data Parallel C++ (DPC++)、一套用于API編程的函數(shù)庫(kù)以及底層硬件接口(oneAPI Level Zero)。有了這些組件,英特爾和其他企業(yè)就能創(chuàng)建他們自己的oneAPI實(shí)現(xiàn)來(lái)支持自己的產(chǎn)品,或基于oneAPI進(jìn)行新產(chǎn)品開發(fā)。

oneAPI規(guī)范是為支持來(lái)自多個(gè)廠商的各種CPU和加速器而設(shè)計(jì)的。oneAPI beta版目前支持英特爾CPU(英特爾至強(qiáng)?、酷睿?、凌動(dòng))、英特爾Arria FPGA以及作為未來(lái)獨(dú)立數(shù)據(jù)中心GPU代理開發(fā)平臺(tái)的第九代/英特爾核芯顯卡。oneAPI日后將支持更多英特爾加速器架構(gòu)。

DPC++是基于大眾熟悉的C和C++語(yǔ)言,專門為oneAPI設(shè)計(jì)的主要編程語(yǔ)言。它融合了來(lái)自Kronos Group的SYCL*,從而可以支持跨CPU和加速器上的數(shù)據(jù)并行和異構(gòu)編程,目的是為了簡(jiǎn)化編程以及提高代碼在不同硬件上的可重用性,同時(shí)能根據(jù)特定的加速器進(jìn)行調(diào)優(yōu)。

DPC++語(yǔ)言增強(qiáng)將會(huì)通過(guò)一個(gè)開發(fā)者社區(qū)項(xiàng)目來(lái)進(jìn)行擴(kuò)展,以簡(jiǎn)化數(shù)據(jù)并行編程。該項(xiàng)目向公眾開放,并將通過(guò)開發(fā)者們的共同努力不斷發(fā)展。

目前,很多庫(kù)和組件已經(jīng)開源或即將開源。英特爾一位工程師指出:“開發(fā)者有想法可以去做擴(kuò)展,這對(duì)開發(fā)者來(lái)講是沒(méi)有太大阻礙的。第二個(gè)層面,我們做這個(gè)目的是因?yàn)楹竺嬗?jì)算會(huì)比較復(fù)雜,因?yàn)槟憧赡苡?a href="http://ygpos.cn/AI_1.html" target="_blank" class="keylink">AI的應(yīng)用,有后面更多的跨架構(gòu)/跨平臺(tái)的應(yīng)用,還有各種框架上的支持,這些都是依賴于開發(fā)者對(duì)oneAPI的支持或者之后的發(fā)展,應(yīng)該說(shuō)本身它是一個(gè)發(fā)展的平臺(tái),它不是固定不變的東西。英特爾開了一個(gè)很重要的頭,也投了大量的人力和物力,后面要做的話應(yīng)該是開發(fā)者共同和我們一起把這個(gè)東西往前推的過(guò)程?!?/p>

用一個(gè)形象的比方,不同架構(gòu)的選擇如同是“自助餐”,有各種各樣的菜,可以自由組合,想吃沙拉就吃沙拉,想吃紅燒肉也可以。此前一些企業(yè)提供的方案是封閉性的,有的公司只供紅燒肉,有的公司專門做沙拉。而有了oneAPI的支持,企業(yè)客戶才能夠更靈活的選擇各種架構(gòu)進(jìn)行任意組合,oneAPI是通過(guò)軟件來(lái)幫助實(shí)現(xiàn)硬件靈活組合的愿景。

二、OneAPI是英特爾軟硬結(jié)合軟件為先戰(zhàn)略中的重要一步

現(xiàn)在數(shù)據(jù)量極其龐大,已經(jīng)遠(yuǎn)遠(yuǎn)超出了在一臺(tái)計(jì)算機(jī)上就可以完全處理的承載和能力,必須要清楚如何應(yīng)對(duì)這些無(wú)法放進(jìn)一臺(tái)計(jì)算機(jī)的大規(guī)模數(shù)據(jù)的處理方式,這是巨大的機(jī)會(huì)。接下來(lái)面臨的挑戰(zhàn)是,如何將性能提升十倍、百倍,而并不是簡(jiǎn)單的提升10%的問(wèn)題。

英特爾首席架構(gòu)師Raja Koduri認(rèn)為,摩爾定律將持續(xù)給我們帶來(lái)非常好的性能提升;而通過(guò)軟件和硬件的結(jié)合,可以讓摩爾定律的提升變成十倍。因?yàn)槟柖蓵?huì)帶來(lái)更多的晶體管,而軟件可以將越來(lái)越多的晶體管的極致性能釋放出來(lái)。將軟件和硬件結(jié)合就是英特爾的戰(zhàn)略重點(diǎn),這也是未來(lái)面臨的非常巨大的機(jī)會(huì)。

英特爾認(rèn)為,對(duì)于全新硬件架構(gòu)的每一個(gè)數(shù)量級(jí)的性能提升潛力,軟件能帶來(lái)兩個(gè)數(shù)量級(jí)的性能提升。英特爾首席架構(gòu)師Raja Koduri表示: “通過(guò)軟件優(yōu)化,可以給Java帶來(lái)6倍的性能提升,給持久性內(nèi)存帶來(lái)8倍的性能升級(jí),在AI領(lǐng)域帶來(lái)28倍的性能提升,所以它的性能提升空間是非常大的,而且這僅僅是在同一款硬件上通過(guò)軟件就可以做到的?!睘榇耍?018年12月英特爾“架構(gòu)日”活動(dòng)上提出六大技術(shù)支柱戰(zhàn)略,即:制程和封裝、架構(gòu)、內(nèi)存和存儲(chǔ)、互連、安全、軟件。

“軟件是英特爾的一項(xiàng)重要戰(zhàn)略資產(chǎn),英特爾將通過(guò)軟件業(yè)務(wù)來(lái)充分釋放公司的整體增長(zhǎng)潛力。英特爾希望通過(guò)在整個(gè)開源生態(tài)系統(tǒng)中的協(xié)作,來(lái)推動(dòng)面向以數(shù)據(jù)為中心時(shí)代的產(chǎn)品和服務(wù)創(chuàng)新?!?英特爾公司副總裁兼系統(tǒng)軟件產(chǎn)品部門總經(jīng)理蘇義德曾強(qiáng)調(diào)。

英特爾擁有一個(gè)1200萬(wàn)活躍開發(fā)者的生態(tài)系統(tǒng),橫跨PC、網(wǎng)絡(luò)和數(shù)據(jù)中心。不管客戶有高性能的要求還是有低功耗要求,或者是對(duì)成本比較敏感,英特爾都有完整的產(chǎn)品線可以對(duì)應(yīng)用戶的不同需求。英特爾希望可以實(shí)現(xiàn)一個(gè)非常簡(jiǎn)化的流程,通過(guò)一個(gè)統(tǒng)一的軟件棧,一個(gè)統(tǒng)一的API就可以適應(yīng)客戶所有的從性能、功耗到成本上的優(yōu)化需求。

在軟硬結(jié)合軟件為先的戰(zhàn)略中,英特爾在“架構(gòu)日”活動(dòng)上同時(shí)宣布推出“oneAPI”項(xiàng)目,面向多元化計(jì)算時(shí)代。該項(xiàng)目包括一個(gè)全面、統(tǒng)一的開發(fā)工具組合,以將軟件匹配到能最大程度加速軟件代碼的硬件上。

“絕大多數(shù)AI算法的演進(jìn)和創(chuàng)新都是在更偏上層來(lái)完成的,我們希望在底層就做好助力和驅(qū)動(dòng)。同時(shí),我們也會(huì)不斷優(yōu)化oneAPI。這樣,未來(lái)任何編程人員不管是他們想將硬件性能提升10%、20%甚至50%,都可以在這個(gè)框架上輕松實(shí)現(xiàn),而不需要再自己編寫語(yǔ)言?!盧aja Koduri表示。

2019年11月正式發(fā)布了oneAPI公開發(fā)行版本。oneAPI包括了一項(xiàng)基于開放規(guī)范的行業(yè)計(jì)劃和一款beta產(chǎn)品。

英特爾指出,oneAPI不是一個(gè)全新的東西,它是之前幾十年的積累上面做了一個(gè)擴(kuò)展?;诂F(xiàn)在工作負(fù)載越來(lái)越復(fù)雜,做這樣的擴(kuò)展是非常合情合理的一件事情。從現(xiàn)在整體來(lái)看,無(wú)論是開發(fā)效率還是實(shí)際的產(chǎn)品運(yùn)營(yíng)效率,都可以從中受益。

三、oneAPI重在培育生態(tài)系統(tǒng) 與伙伴共同擁抱數(shù)據(jù)時(shí)代

在設(shè)計(jì)oneAPI之初,英特爾就考慮到要發(fā)揮整個(gè)Xe架構(gòu)最強(qiáng)的全面性能,不管是高性能還是低功耗。除此之外,oneAPI的設(shè)計(jì)也確保要符合英特爾所有其他不同計(jì)算和應(yīng)用的需求。不管是CPU、FPGA還是加速器,oneAPI的設(shè)計(jì)都可以和它們進(jìn)行非常完整的配合。

oneAPI,是英特爾以軟件來(lái)最大程度釋放硬件性能,從軟件層面來(lái)簡(jiǎn)化和統(tǒng)一跨SVMS架構(gòu)的創(chuàng)新。Raja Koduri指出,oneAPI是一個(gè)非常底層的抽象框架,主要就是面對(duì)以后不同計(jì)算元素的集成,希望能夠從底層更好地完成特征抽象和集成。

SVMS架構(gòu)是由標(biāo)量(Scalar)、矢量(Vector)、矩陣(Matrix)、空間(Spatial)四種架構(gòu)組成的,分別對(duì)應(yīng)著CPU、GPU、FPGA和加速器,它們的組合方式是多種多樣的。通過(guò)這個(gè)架構(gòu)的分類方式可以看到,CPU是最通用的一種架構(gòu),而GPU會(huì)比CPU更加高效和專用,而FPGA和加速器的能效和靈活性更高。

“英特爾的策略就是要囊括CPU、GPU、FPGA、加速器所有的架構(gòu)?!盧aja Koduri指出,CPU依舊是目前最重要的架構(gòu),英特爾將不斷提高每個(gè)CPU的性能,繼續(xù)保持它作為最強(qiáng)的計(jì)算架構(gòu)的位置。GPU戰(zhàn)略主要是要提高能效,更好幫助英特爾提高整體的生產(chǎn)力和效率。在FPGA領(lǐng)域,英特爾現(xiàn)在已經(jīng)做的非常成功了,英特爾推出了很多重要的FPGA產(chǎn)品。另外,加速器也是英特爾非常重要的一個(gè)發(fā)力點(diǎn)。

在oneAPI的生態(tài)構(gòu)建方面,英特爾主要從三個(gè)層面來(lái)推進(jìn):一是英特爾有著強(qiáng)大的開發(fā)者社區(qū),以及全球范圍內(nèi)非常廣泛的社區(qū)合作伙伴。英特爾將從自身非常擅長(zhǎng)的開源社區(qū)入手。第二,在很大層面上與高校展開配合協(xié)作,結(jié)合他們的技術(shù)以及案例來(lái)打造一個(gè)完整的社區(qū)。第三,與全球開發(fā)者們進(jìn)行更加完整的合作,開發(fā)者不僅僅是指?jìng)€(gè)人開發(fā)者,也包括大型的企業(yè)機(jī)構(gòu),例如騰訊、阿里等,英特爾將會(huì)與每個(gè)人、每個(gè)企業(yè)都緊密地配合,來(lái)支持oneAPI的生態(tài)。

截至11月17日,支持oneAPI概念的業(yè)內(nèi)領(lǐng)先企業(yè)和研究機(jī)構(gòu)已經(jīng)超過(guò)30家,包括高性能計(jì)算領(lǐng)域的領(lǐng)導(dǎo)者、人工智能領(lǐng)域的創(chuàng)新者、硬件廠商/OEM、獨(dú)立軟件開發(fā)商、云服務(wù)商、高校等等。

2019年5G的正式商用加速了物聯(lián)網(wǎng)的深入應(yīng)用,這意味著會(huì)有更多的物聯(lián)網(wǎng)節(jié)點(diǎn)智能終端產(chǎn)品落地應(yīng)用。據(jù)統(tǒng)計(jì)數(shù)據(jù)顯示,2020年全球物聯(lián)網(wǎng)設(shè)備基數(shù)將達(dá)307億臺(tái),2025年將達(dá)到754億臺(tái)。而這些將會(huì)產(chǎn)生海量的數(shù)據(jù),這些數(shù)據(jù)的存儲(chǔ)、安全、運(yùn)算,則需要依賴于數(shù)據(jù)中心、云服務(wù)等軟件業(yè)務(wù)。

英特爾愿發(fā)揮在軟件業(yè)務(wù)方面的強(qiáng)優(yōu)勢(shì),以生態(tài)系統(tǒng)培養(yǎng)為主,推動(dòng)整個(gè)業(yè)界往前邁進(jìn)。并與合作伙伴一起面對(duì)這一巨大的市場(chǎng)應(yīng)用需求,一同抓住這塊蛋糕。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2019-12-23
英特爾用oneAPI軟件策略,面對(duì)異構(gòu)挑戰(zhàn)
回顧過(guò)去35到40年間計(jì)算的發(fā)展歷程,計(jì)算力的增長(zhǎng)速率呈指數(shù)級(jí)上升,從萬(wàn)物數(shù)字化、萬(wàn)物互聯(lián)、萬(wàn)物移動(dòng)化到萬(wàn)物云化,當(dāng)前進(jìn)入萬(wàn)物智能化。在PC時(shí)代,互聯(lián)網(wǎng)用戶增長(zhǎng)了十億人。

長(zhǎng)按掃碼 閱讀全文