數據洪流下,AI、5G等新技術催生的創新應用帶來更加多元化的計算需求,這就要求多樣化的計算架構。為此,英特爾提出了“xPU”策略,也就是英特爾不再局限于CPU(向量計算),而是向GPU(矢量計算)、AI(矩陣計算)和FPGA(空間計算)進行延展。
基于此,我們看到英特爾構建了一個包含CPU、GPU、AI加速器、FPGA,以及如神經擬態計算等面向未來的計算架構。在這樣的計算架構支撐下,我們正在邁入超異構計算時代。
在超異構計算時代,英特爾確立了制程和封裝、架構、內存和存儲、互連、安全、軟件六大技術支柱,全方位推動計算創新發展。在這其中,英特爾軟件是推動未來計算創新的隱形力量。
軟件加速硬件指數級創新
毋庸置疑,英特爾在硬件層面的創新是有目共睹的。但是進入到超異構計算時代,計算力指數級上升的實現一定是基于硬件與軟件的結合。所以英特爾借助“軟件先行”的戰略,推進硬件和軟件的共同創新,來引領異構計算的整合和創新,實現計算力指數級增長,滿足未來多元化的計算需求。
在以數據為中心的戰略指引下,英特爾不光在硬件層面進行創新,還在軟件層面進行投入。因為整個計算架構不是原來的單一CPU架構,需要針對不同的架構和負載進行整合,軟件在中間起了一個最關鍵的橋梁作用。
其實,英特爾在軟件領域的投入是巨大。英特爾在全球大概十萬到十一萬人,免備案主機,軟件工程師占到15%左右(15000名左右)。而在中國,英特爾亞太研發中心正式員工超過2000人,是涵蓋英特爾各個產品部在中國最大的、最完整的綜合性研發機構,擁有世界一流的工程研發能力。
英特爾通過軟件實現軟硬協同、生態共贏:提供簡便可擴展的工具,來加速應用開發部署;堅持客戶至上,針對不同類型的工作負載進行優化;秉承開放理念,推動開源、開放生態系統協作;產學研對接,培育面向未來的創新人才。
在軟件生態構件中,開發者是重要一環。英特爾已經深入開發者生態領域超過20年,并有10000項與客戶緊密合作的軟件部署,是Linux Kernel最大的貢獻者,香港服務器租用,每年修改的代碼超過50萬行,為100多個操作系統進行過優化,并且擁有超過兩千萬活躍開發者的生態,而這些只是英特爾龐大的軟件實力的一部分。英特爾跨基礎架構、網絡、操作系統的開發經驗,開發工具和SDK以及其所參與并影響的標準制定組織的數量在業界是無與倫比的。
基于這樣深厚的積淀,英特爾希望通過“統一架構編程”,圍繞架構創新進行擴展,并且讓所做的一切都是簡便和可擴展的。英特爾軟件所做的事情使所有的硬件的每一個晶體管都能夠能力充分發揮起來,使得開發者能夠非常容易地把軟硬件充分用起來。
oneAPI打造統一架構編程
跨架構(CPU、GPU、FPGA及其他加速器)開發能力對于處理數據密集型工作負載極為重要,因為這種工作負載需要多種架構,這也將成為未來的常態。不過多架構編程面臨諸多挑戰比如專用工作負載日益增多、尚無通用編程語言或 API、不一致的跨平臺工具支持、每個平臺需要單獨的軟件投資、需采用不同的以數據為中心的硬件等。
在今天,每一個硬件平臺往往需要開發者維護獨立的代碼庫,這些代碼庫需要使用不同的語言、庫和軟件工具進行編程。這是一項極其復雜和耗費時間的工作,會大大降低開發速度、抑制創新。
為了解決這樣的業界難題,英特爾發布了一項全新軟件行業計劃oneAPI。oneAPI為異構計算提供了一個統一和簡化的應用程序開發編程模型,這種統一性為開發者提供了一個統一的開發體驗,因為其面對不同的異構硬件,他們不需要學習不同的編程方法。
具體來說,oneAPI基于標準的跨架構語言Data Parallel C++和SYCL功能強大的API,旨在加速特定領域的主要功能底層硬件接口,可為供應商提供硬件抽象層,支持針對不同的架構和供應商重復使用代碼。也就是說oneAPI支持直接編程和API編程,并提供統一的語言和庫,可以在包括CPU、GPU、FPGA和AI加速器等不同硬件架構上提供完整的本地代碼性能。oneAPI的簡單易用和高性能讓開發者不再需要維護不同的代碼庫、多種編程語言以及不同的工具和工作流程。
英特爾對于未來計算的展望和承諾是:SVMS架構(S是Scalar標量,V是Vector向量,M是Matrix矩陣,S是Space空間),也就是我們前面提到的超異構計算。而在SVNS架構之上,英特爾構建oneAPI,對這些硬件進行了抽象。開發者針對的是這個抽象來寫程序,而不是具體的硬件。在oneAPI是框架和中間件框架提供了更高一層的抽象和語義,開發者可以在上面快速開發,高效部署。