程小猿的難處,相信你也感同身受。 當下,異構計算如日中天,開發(fā)者在同一個數(shù)據(jù)中心里,既需要在CPU里做虛擬機,又需要在FPGA里做各種壓縮,還需要在GPU里做深度學習。 因此,我們得在數(shù)據(jù)中心里,安裝很多硬件、運行好多軟件。這種情況下,不加班才怪! 如果CPU、FPGA和GPU等,還是各自為政,當你的應用要擴容、硬件要升級時,成本都非常高。 如果架構再發(fā)生變化,這等于你之前的付出,全部白費! 打個比方,某天中午,你既想吃天婦羅,還想吃水煮魚,但這一個是日料、一個是川菜,你想同時吃到,就得分別去一家日料店和一家川菜館。 有沒有辦法,可以讓你在一家餐廳,就同時吃到鵝肝和水煮魚呢? 當然有!去自助餐廳就可以。 而前文提到的oneAPI,正是英特爾為了讓開發(fā)者能夠自由享用“自助餐服務”而推出的,賦予開發(fā)者靈活選擇各種架構、進行任意組合的愜意。 那么,oneAPI是一個怎樣的產品? oneAPI是啥? 在2019年超級計算大會上,oneAPI beta產品發(fā)布。 oneAPI beta產品,包括直接編程工具(Data Parallel C++)、基于API的編程工具、以及分析工具和調試工具等組件。oneAPI beta還可以把這些工具,封裝為特定領域的工具包。 概括來說,oneAPI是一個統(tǒng)一和簡化的編程模型,它的誕生使命,在于簡化跨多架構的開發(fā)過程(如CPU、GPU、FPGA、加速器)。 它也是英特爾首創(chuàng)的自助餐式服務。舉個例子,銀行、物流、醫(yī)院、工廠等不同行業(yè)的開發(fā)者,他們的需求,都不盡相同。在某一個硬件上,開發(fā)者用的可能是CPU+FPGA,也可能是GPU+FPGA。 但是跨不同的硬件、CPU、GPU和AI,有比較多復雜硬件的異構性。而oneAPI提供了更加簡單的方法,來統(tǒng)一編程框架,讓程序員在不同的硬件架構上,感受到統(tǒng)一的開發(fā)體驗,這對于程序員來講工作就會非常方便。 短短數(shù)月內,支持oneAPI的企業(yè)和機構已經超過30家。它們中間,既有一線廠商,還有名牌高校。 oneAPI干啥? 它最重要的作用,就是幫你實現(xiàn)異構編程! 打個比方,oneAPI和異構編程的關系,有點像攜號轉網,當然這個“轉網”,不需要有關部門的批復。 有了oneAPI,你在某一個數(shù)據(jù)中心里開發(fā)的東西,可以從CPU挪到FPGA上,也可以從NVIDIA的GPU挪到英特爾的GPU上。 此外,oneAPI還能簡化各種架構的開發(fā)流程;它還可以統(tǒng)一語言和函數(shù)庫,使其變得更簡單,從而有利于表達并行化;oneAPI還擁有很好的本機高級語言性能;并能夠與現(xiàn)有HPC編程模型互操作。 oneAPI啥時用? 當下,oneAPI beta版已經發(fā)布。 而oneAPI的庫和組件們,要么已經開源,要么即將走向開源。 俗話說,車馬未動,糧草先行。 英特爾已在北京和上海,舉辦oneAPI beta研討會,通過開發(fā)者的試用和反饋,來對oneAPI做出優(yōu)化。一年后的2020年四季度,一個準備完美的oneAPI,就會和你見面。 oneAPI咋用? 當下的oneAPI beta版,主要面向英特爾至強可擴展處理器、帶集成顯卡的英特爾酷睿處理器,以及英特爾FPGA。 如果你感興趣,可以在Intel oneAPI DevCloud平臺下載和試用oneAPI工具。想了解更多oneAPI詳情,則可以戳software.intel.com/oneAPI。 好馬還要配好鞍,為了讓你更絲滑地使用oneAPI?;谟⑻貭栐诩軜嫼途幾g器領域積累的多年經驗,英特爾專門給oneAPI,設計了一款名叫DPC++的編程語言。 它的全稱叫Data Parallel C++,Data Parallel是數(shù)據(jù)并行的意思。它基于C和C++,并融合SYCL(OpenCL的高級編程模型)。 三劍合一的DPC++,能支持跨CPU、跨加速器的數(shù)據(jù)并行,并能讓你實現(xiàn)異構編程。 可以說,DPC++存在的意義,正是為了簡化編程、提高代碼在不同硬件上的可重用性。此外,它還能根據(jù)特定的加速器進行調優(yōu)。 oneAPI大部分都是開源的,你可以按照自己的想法,在上面做拓展。 此外,oneAPI的誕生原因之一,便是為了減輕開發(fā)者工作量、以及方便開發(fā)者進行跨架構編程。 正因為oneAPI的是開源的,所以它也是瞬息萬變的。 而它的變化,正取決于開發(fā)者對于oneAPI生態(tài)的貢獻。 英特爾通過投入大量人力、物力,已經給oneAPI設立好起點。 接下來,就需要開發(fā)者和英特爾一起,來將oneAPI推得更高! 水漲船高后,受益者就是你。 話說回來,誰說程序員工資高,都是加班加出來的?工具用得好,下班回家早!oneAPI用起來! |
|