英特爾用oneAPI軟件策略,面對異構挑戰

  回顧過去 35 到 40 年間計算的發展歷程,計算力的增加速率呈指數級上升,從萬物數字化、萬物互聯、萬物移動化到萬物雲化,當前進入萬物智能化。
  在 PC 時代,互聯網用戶增加了十億人。硬件和軟件結合的典型例子就是 PC 上 X86 架構和 Windows 系統的結合。
  進入移動化時代,從 10 億的互聯網用戶增加到 100 億的設備,呈現 10 倍的增加。硬件和軟件的結合也發生了變化,變成了 ARM 架構和 iOS 及 Android 操做系統,同時 Linux 系統和 X86 平臺也佔據一部分市場。從 10 億到 100 億,實現的是指數級的增加。
  以往 CPU、GPU、FPGA 等,都可以獨當一面。而當下,傳統的通用架構已遠不能知足需求。CPU、GPU、FPGA 甚至 AI 加速器等多種架構之間組合,方能招架得住處理數據密集型、複雜的工做負載。將來,這種異構計算將成爲常態。
  當前,不論是 CPU、GPU、FPGA 等哪個硬件平臺每每都須要開發者維護獨立的代碼庫,這些代碼庫須要使用不一樣的語言、庫和軟件工具進行編程。這是一項極其複雜和耗費時間的工做,大大下降開發速度、抑制創新。
  具體而言,異構計算使得一個用戶可能在同一個數據中內心既須要 CPU 裏作虛擬機,又須要 FPGA 來作各類解壓縮或者加速器,還須要 GPU 來作深度學習或者人工智能。這就須要在數據中內心安各類各樣的硬件,跑各類各樣的軟件。若是仍是各自爲政的話,對於用戶來講,就算應用未來要擴容、硬件平臺未來要升級,都是成本很高的一件事。甚至此前作的都全白作了。
  爲了解決這一難題,oneAPI 應運而生。oneAPI 是一個以開發者爲中心的平臺,簡化多架構編程的一個統一編程模型,開發者能夠自由選擇架構,大大下降了使用不一樣的代碼庫、編程語言、編程工具和工做流程所帶來的複雜性。oneAPI 採用統1、簡化的語言和函數庫,用於表達並行化,且基於行業標準和開放式規範,可以與現有 HPC 編程模型互操做。
  oneAPI 包括了一項基於開放規範的行業計劃和一款 beta 產品。該規範包括一種編程語言、強大的 API 函數庫以及底層硬件接口。oneAPI beta 產品爲開發者提供了全套的開發工具,包括編譯器、編程庫、分析器等,並把這些工具封裝爲特定領域的工具包。初期 oneAPI beta 版主要面向英特爾 至強可擴展處理器、帶集成顯卡的英特爾酷睿處理器,以及英特爾 FPGA,將來還將支持更多硬件。
  oneAPI 將實現與現有行業標準的互操做性。oneAPI 開放式規範包括一種跨架構的編程語言 Data Parallel C++ (DPC++)、一套用於 API 編程的函數庫以及底層硬件接口(oneAPI Level Zero)。有了這些組件,英特爾和其餘企業就能建立他們本身的 oneAPI 實現來支持本身的產品,或基於 oneAPI 進行新產品開發。
  oneAPI 規範是爲支持來自多個廠商的各類 CPU 和加速器而設計的。oneAPI beta 版目前支持英特爾 CPU(英特爾至強 、酷睿 、凌動)、英特爾 Arria FPGA 以及做爲將來獨立數據中心 GPU 代理開發平臺的第九代/英特爾核芯顯卡。oneAPI 往後將支持更多英特爾加速器架構。
  DPC++是基於大衆熟悉的C和 C++ 語言,專門爲 oneAPI 設計的主要編程語言。它融合了來自 Kronos Group 的 SYCL*,從而能夠支持跨 CPU 和加速器上的數據並行和異構編程,目的是爲了簡化編程以及提升代碼在不一樣硬件上的可重用性,同時能根據特定的加速器進行調優。
  DPC++語言加強將會經過一個開發者社區項目來進行擴展,以簡化數據並行編程。該項目向公衆開放,並將經過開發者們的共同努力不斷髮展。
  目前,不少庫和組件已經開源或即將開源。英特爾一位工程師指出:「開發者有想法能夠去作擴展,這對開發者來說是沒有太大阻礙的。第二個層面,咱們作這個目的是由於後面計算會比較複雜,由於你可能有 AI 的應用,有後面更多的跨架構/跨平臺的應用,還有各類框架上的支持,這些都是依賴於開發者對 oneAPI 的支持或者以後的發展,應該說自己它是一個發展的平臺,它不是固定不變的東西。英特爾開了一個很重要的頭,也投了大量的人力和物力,後面要作的話應該是開發者共同和咱們一塊兒把這個東西往前推的過程。」
  用一個形象的比方,不一樣架構的選擇如同是「自助餐」,有各類各樣的菜,能夠自由組合,想吃沙拉就吃沙拉,想吃紅燒肉也能夠。此前一些企業提供的方案是封閉性的,有的公司只供紅燒肉,有的公司專門作沙拉。而有了 oneAPI 的支持,企業客戶纔可以更靈活的選擇各類架構進行任意組合,oneAPI 是經過軟件來幫助實現硬件靈活組合的願景。
  <strong>2、OneAPI 是英特爾軟硬結合軟件爲先戰略中的重要一步</strong>
  如今數據量極其龐大,已經遠遠超出了在一臺計算機上就能夠徹底處理的承載和能力,必需要清楚如何應對這些沒法放進一臺計算機的大規模數據的處理方式,這是巨大的機會。接下來面臨的挑戰是,如何將性能提高十倍、百倍,而並非簡單的提高 10% 的問題。
  英特爾首席架構師 Raja Koduri 認爲,摩爾定律將持續給咱們帶來很是好的性能提高;而經過軟件和硬件的結合,可讓摩爾定律的提高變成十倍。由於摩爾定律會帶來更多的晶體管,而軟件能夠將愈來愈多的晶體管的極致性能釋放出來。將軟件和硬件結合就是英特爾的戰略重點,這也是將來面臨的很是巨大的機會。
  英特爾認爲,對於全新硬件架構的每個數量級的性能提高潛力,軟件能帶來兩個數量級的性能提高。英特爾首席架構師 Raja Koduri 表示: 「經過軟件優化,能夠給 Java 帶來 6 倍的性能提高,給持久性內存帶來 8 倍的性能升級,在 AI 領域帶來 28 倍的性能提高,因此它的性能提高空間是很是大的,並且這僅僅是在同一款硬件上經過軟件就能夠作到的。」爲此,2018 年 12 月英特爾「架構日」活動上提出六大技術支柱戰略,即:製程和封裝、架構、內存和存儲、互連、安全、軟件。
  「軟件是英特爾的一項重要戰略資產,英特爾將經過軟件業務來充分釋放公司的總體增加潛力。英特爾但願經過在整個開源生態系統中的協做,來推進面向以數據爲中心時代的產品和服務創新。」 英特爾公司副總裁兼系統軟件產品部門總經理蘇義德曾強調。
  英特爾擁有一個 1200 萬活躍開發者的生態系統,橫跨 PC、網絡和數據中心。無論客戶有高性能的要求仍是有低功耗要求,或者是對成本比較敏感,英特爾都有完整的產品線能夠對應用戶的不一樣需求。英特爾但願能夠實現一個很是簡化的流程,經過一個統一的軟件棧,一個統一的 API 就能夠適應客戶全部的從性能、功耗到成本上的優化需求。
  在軟硬結合軟件爲先的戰略中,英特爾在「架構日」活動上同時宣佈推出「oneAPI」項目,面向多元化計算時代。該項目包括一個全面、統一的開發工具組合,以將軟件匹配到能最大程度加速軟件代碼的硬件上。
  「絕大多數 AI 算法的演進和創新都是在更偏上層來完成的,咱們但願在底層就作好助力和驅動。同時,咱們也會不斷優化 oneAPI。這樣,將來任何編程人員不論是他們想將硬件性能提高 10%、20% 甚至 50%,均可以在這個框架上輕鬆實現,而不須要再本身編寫語言。」 Raja Koduri 表示。
  2019 年 11 月正式發佈了 oneAPI 公開發行版本。oneAPI 包括了一項基於開放規範的行業計劃和一款 beta 產品。
  英特爾指出,oneAPI 不是一個全新的東西,它是以前幾十年的積累上面作了一個擴展。基於如今工做負載愈來愈複雜,作這樣的擴展是很是合情合理的一件事情。從如今總體來看,不管是開發效率仍是實際的產品運營效率,均可以從中受益。
  <strong>3、oneAPI 重在培育生態系統與夥伴共同擁抱數據時代</strong>
  在設計 oneAPI 之初,英特爾就考慮到要發揮整個 Xe 架構最強的全面性能,不論是高性能仍是低功耗。除此以外,oneAPI 的設計也確保要符合英特爾全部其餘不一樣計算和應用的需求。不論是 CPU、FPGA 仍是加速器,oneAPI 的設計均可以和它們進行很是完整的配合。
  oneAPI,是英特爾以軟件來最大程度釋放硬件性能,從軟件層面來簡化和統一跨 SVMS 架構的創新。Raja Koduri 指出,oneAPI 是一個很是底層的抽象框架,主要就是面對之後不一樣計算元素的集成,但願可以從底層更好地完成特徵抽象和集成。
  SVMS 架構是由標量(Scalar)、矢量(Vector)、矩陣(Matrix)、空間(Spatial)四種架構組成的,分別對應着 CPU、GPU、FPGA 和加速器,它們的組合方式是多種多樣的。經過這個架構的分類方式能夠看到,CPU 是最通用的一種架構,而 GPU 會比 CPU 更加高效和專用,而 FPGA 和加速器的能效和靈活性更高。
  「英特爾的策略就是要囊括 CPU、GPU、FPGA、加速器全部的架構。」Raja Koduri 指出,CPU 依舊是目前最重要的架構,英特爾將不斷提升每一個 CPU 的性能,繼續保持它做爲最強的計算架構的位置。GPU 戰略主要是要提升能效,更好幫助英特爾提升總體的生產力和效率。在 FPGA 領域,英特爾如今已經作的很是成功了,英特爾推出了不少重要的 FPGA 產品。另外,加速器也是英特爾很是重要的一個發力點。
  在 oneAPI 的生態構建方面,英特爾主要從三個層面來推動:一是英特爾有着強大的開發者社區,以及全球範圍內很是普遍的社區合做夥伴。英特爾將從自身很是擅長的開源社區入手。第二,在很大層面上與高校展開配合協做,結合他們的技術以及案例來打造一個完整的社區。第三,與全球開發者們進行更加完整的合做,開發者不只僅是指我的開發者,也包括大型的企業機構,例如騰訊、阿里等,英特爾將會與每一個人、每一個企業都緊密地配合,來支持 oneAPI 的生態。
  截至 11 月 17 日,支持 oneAPI 概念的業內領先企業和研究機構已經超過 30 家,包括高性能計算領域的領導者、人工智能領域的創新者、硬件廠商/OEM、獨立軟件開發商、雲服務商、高校等等。
  2019 年 5G 的正式商用加速了物聯網的深刻應用,這意味着會有更多的物聯網節點智能終端產品落地應用。據統計數據顯示,2020 年全球物聯網設備基數將達 307 億臺,2025 年將達到 754 億臺。而這些將會產生海量的數據,這些數據的存儲、安全、運算,則須要依賴於數據中心、雲服務等軟件業務。
  英特爾願發揮在軟件業務方面的強優點,以生態系統培養爲主,推進整個業界往前邁進。並與合做夥伴一塊兒面對這一巨大的市場應用需求,一同抓住這塊蛋糕。算法

相關文章
相關標籤/搜索