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