oneAPI介紹說(shuō)明:一個(gè)統一的、簡(jiǎn)化的編程模型將定義未來(lái)應用程序開(kāi)發(fā)的十年
oneAPI是什么?
本文引用地址:http://dyxdggzs.com/article/201911/407188.htmoneAPI是一個(gè)統一的、簡(jiǎn)化的編程模型,旨在簡(jiǎn)化跨多架構的開(kāi)發(fā)過(guò)程(如CPU、GPU、FPGA、加速器)。oneAPI包含兩個(gè)組成部分:一項產(chǎn)業(yè)計劃和一款英特爾? beta產(chǎn)品,都是全新探索的第一步。
· oneAPI計劃的跨架構開(kāi)發(fā)模型基于行業(yè)標準和開(kāi)放規范,支持廣泛的行業(yè)生態(tài)系統采納該技術(shù)來(lái)推動(dòng)應用開(kāi)發(fā)領(lǐng)域的新演進(jìn)。
· 英特爾? oneAPI beta產(chǎn)品是英特爾基于oneAPI的實(shí)現,它包括了oneAPI標準組件如直接編程工具(Data Parallel C++)、含有一系列性能庫的基于A(yíng)PI的編程工具,以及先進(jìn)的分析、調試工具等組件。開(kāi)發(fā)人員從現在開(kāi)始就可以在英特爾DevCloud for oneAPI上對基于多種英特爾架構(包括英特爾至強?可擴展處理器、帶集成顯卡的英特爾酷睿?處理器、英特爾FPGA如英特爾Arria?、Stratix?等)的代碼和應用進(jìn)行測試。這一進(jìn)展源自于英特爾數百萬(wàn)小時(shí)軟件工程開(kāi)發(fā)的努力,旨在為全球開(kāi)發(fā)人員提供一座從現有代碼和技能過(guò)渡到即將來(lái)臨的xPU時(shí)代的橋梁。
完整版信息圖請查看附件
oneAPI為何重要?
oneAPI是英特爾“軟件先行”戰略的重要體現,英特爾相信這一戰略將定義和引領(lǐng)一個(gè)人工智能日益融合、異構及多架構的編程時(shí)代。
跨架構(CPU、GPU、FPGA及其他加速器)開(kāi)發(fā)能力對于處理數據密集型工作負載極為重要,因為這種工作負載需要多種架構,這也將成為未來(lái)的常態(tài)。在今天,每一個(gè)硬件平臺往往需要開(kāi)發(fā)者維護獨立的代碼庫,這些代碼庫需要使用不同的語(yǔ)言、庫和軟件工具進(jìn)行編程。這是一項極其復雜和耗費時(shí)間的工作,會(huì )大大降低開(kāi)發(fā)速度、抑制創(chuàng )新。
為了解決這一難題,oneAPI提供一個(gè)通用、開(kāi)放的編程體驗,讓開(kāi)發(fā)者可以自由選擇架構,無(wú)需在性能上作出妥協(xié),也大大降低了使用不同的代碼庫、編程語(yǔ)言、編程工具和工作流程所帶來(lái)的復雜性。相對于今天的基于單個(gè)廠(chǎng)商的封閉式編程環(huán)境,oneAPI為開(kāi)發(fā)者提供了極富競爭力、也更先進(jìn)的可替代選擇,幫助他們在保留現有軟件投資的基礎上,搭建一座無(wú)縫連接的橋梁,從而為未來(lái)的多架構世界創(chuàng )造更多豐富的應用程序。
為什么英特爾能夠應對這項挑戰?
英特爾已經(jīng)深入開(kāi)發(fā)者生態(tài)領(lǐng)域超過(guò)20年。英特爾擁有15000多名軟件工程師和10000項與客戶(hù)緊密合作的軟件部署,是Linux kernel最大的貢獻者,每年修改的代碼超過(guò)50萬(wàn)行,為100多個(gè)操作系統進(jìn)行過(guò)優(yōu)化,并且擁有超過(guò)兩千萬(wàn)活躍開(kāi)發(fā)者的生態(tài),而這些只是英特爾龐大的軟件實(shí)力的一部分。
英特爾跨基礎架構、網(wǎng)絡(luò )、操作系統的開(kāi)發(fā)經(jīng)驗,開(kāi)發(fā)工具和SDK以及其所參與并影響的標準制定組織的數量在業(yè)界是無(wú)與倫比的。憑借深耕行業(yè)多年的積累和英特爾軟件工程團隊數百萬(wàn)個(gè)小時(shí)的努力,英特爾正通過(guò)創(chuàng )建一個(gè)統一的編程模型,推動(dòng)開(kāi)發(fā)普及化,簡(jiǎn)化困難,為開(kāi)發(fā)者創(chuàng )造一個(gè)更具移植性、更高效且性能更高的編程環(huán)境,來(lái)幫助開(kāi)發(fā)者應對未來(lái)的挑戰。
為什么需要一個(gè)開(kāi)放式規范?
數十年以來(lái),英特爾與包括ISO C++/Fortran Groups、OpenMP* ARB、MPI Forum、The Khronos Group在內的多個(gè)標準制定組織以及行業(yè)/學(xué)術(shù)組織攜手,希望通過(guò)開(kāi)放協(xié)作的方式尋求一種可實(shí)現互操作性與互換性的產(chǎn)品規范,而oneAPI項目就是這一行動(dòng)的延續。oneAPI將實(shí)現與現有行業(yè)標準的互操作性。
oneAPI開(kāi)放式規范包括哪些內容?
這一開(kāi)放式規范包括一種跨架構的編程語(yǔ)言Data Parallel C++ (DPC++)、一套用于A(yíng)PI編程的函數庫以及底層硬件接口(oneAPI Level Zero)。有了這些組件,英特爾和其它企業(yè)就能創(chuàng )建他們自己的oneAPI實(shí)現來(lái)支持他們自己的產(chǎn)品,或基于oneAPI進(jìn)行新產(chǎn)品開(kāi)發(fā)。
Data Parallel C++是什么?
DPC++是基于大眾熟悉的C和C++語(yǔ)言,專(zhuān)門(mén)為oneAPI設計的主要編程語(yǔ)言。它融合了來(lái)自Kronos Group的SYCL*,從而可以支持跨CPU和加速器上的數據并行和異構編程,目的是為了簡(jiǎn)化編程以及提高代碼在不同硬件上的可重用性,同時(shí)能根據特定的加速器進(jìn)行調優(yōu)。
DPC++語(yǔ)言增強將會(huì )通過(guò)一個(gè)開(kāi)發(fā)者社區項目來(lái)進(jìn)行擴展,以簡(jiǎn)化數據并行編程。該項目向公眾開(kāi)放,并將通過(guò)開(kāi)發(fā)者們的共同努力不斷發(fā)展。
oneAPI規范內容將會(huì )開(kāi)源嗎?
很多庫和組件已經(jīng)開(kāi)源或即將開(kāi)源。
哪些公司將支持或參與oneAPI計劃?
截至11月17日,支持oneAPI概念的業(yè)內領(lǐng)先企業(yè)和研究機構已經(jīng)超過(guò)30家,包括高性能計算領(lǐng)域的領(lǐng)導者、人工智能領(lǐng)域的創(chuàng )新者、硬件廠(chǎng)商/OEM、獨立軟件開(kāi)發(fā)商、云服務(wù)商、高校等等。其中很多也積極參與了oneAPI beta版工具包的測試并提供反饋意見(jiàn)。
這項計劃剛剛啟動(dòng),英特爾預期未來(lái)幾年將會(huì )有更多參與方加入該計劃。企業(yè)在創(chuàng )建自己的oneAPI實(shí)現并完成自我認證后即可以使用全新oneAPI計劃品牌和標識。
不同的oneAPI Beta版工具包都包含了什么?
英特爾 oneAPI 基礎工具包(Beta版)包含了一系列核心工具和庫,為構建和部署跨架構的高性能以數據為中心的應用而開(kāi)發(fā)。它具體包含了oneAPI開(kāi)放式規范技術(shù)(DPC++語(yǔ)言、特定領(lǐng)域的庫)和英特爾? Python*分發(fā)包來(lái)提供跨相關(guān)架構的即時(shí)加速,以及能增強分析、協(xié)助設計和調試等組件。
除英特爾oneAPI基礎工具包外,英特爾還提供其他針對高性能計算、人工智能等專(zhuān)門(mén)工作負載的工具包,包括:
英特爾oneAPI高性能計算工具包(Beta版):幫助快速交付可擴展的C++、Fortran和OpenMP應用程序
英特爾oneAPI深度學(xué)習框架開(kāi)發(fā)者工具包(Beta版):用于建立深度學(xué)習框架或對現有深度學(xué)習框架實(shí)現定制化
英特爾oneAPI渲染工具包(Beta版):用于開(kāi)發(fā)高性能、高精度的可視化應用程序(包括科學(xué)可視化)
英特爾AI分析工具包(Beta版):由oneAPI提供技術(shù)支持,適用于人工智能開(kāi)發(fā)者和數據科學(xué)家,以更好地利用機器學(xué)習和深度學(xué)習模型來(lái)構建應用。
此外還有兩種oneAPI補充工具包:為系統工程師設計的英特爾系統Bring-Up 工具包以及面向深度學(xué)習推理和計算機視覺(jué)的生產(chǎn)場(chǎng)景的英特爾發(fā)行版 OpenVINO? 工具開(kāi)發(fā)包。
oneAPI支持哪些處理器和加速器?
oneAPI規范是為支持來(lái)自多個(gè)廠(chǎng)商的各種CPU和加速器而設計的。oneAPI beta版目前支持英特爾CPU(英特爾至強?、酷睿?、凌動(dòng))、英特爾Arria FPGA以及作為未來(lái)獨立數據中心GPU代理開(kāi)發(fā)平臺的第九代/英特爾核芯顯卡。oneAPI日后將支持更多英特爾加速器架構。
其它廠(chǎng)商的硬件與oneAPI兼容嗎?
oneAPI規范的DPC++語(yǔ)言和庫等都向公眾開(kāi)放使用,我們也鼓勵其它硬件廠(chǎng)商使用。其它硬件廠(chǎng)商可以創(chuàng )建自己的oneAPI實(shí)現并基于此對特定硬件進(jìn)行優(yōu)化。
評論