嵌入式市場對圖形和計(jì)算加速的需求正在增長。相機(jī)和傳感器陣列在從汽車到工業(yè)等不同行業(yè)的許多用例中越來越重要,并且正在生成需要復(fù)雜處理的越來越豐富的數(shù)據(jù)流。
與此同時(shí),正在開發(fā)使用高質(zhì)量 3D 圖形甚至增強(qiáng)現(xiàn)實(shí)技術(shù)的高級用戶界面。然而,部署加速處理的需要,再加上安全關(guān)鍵認(rèn)證的復(fù)雜性,造成處理器、加速器、編譯器、API 和庫的混亂局面,推高了嵌入式加速器的集成成本,進(jìn)而限制了創(chuàng)新和上市時(shí)間效率。
開放標(biāo)準(zhǔn)在幫助硬件和軟件供應(yīng)商成功駕馭這種復(fù)雜的技術(shù)環(huán)境方面發(fā)揮著重要作用。嵌入式市場的加速標(biāo)準(zhǔn)可以實(shí)現(xiàn)跨平臺軟件可重用性、解耦軟件和硬件開發(fā)以便更輕松地部署和集成新組件、提供跨代可重用性并促進(jìn)現(xiàn)場可升級性。這些標(biāo)準(zhǔn)降低了成本,縮短了上市時(shí)間,并降低了在引人注目的現(xiàn)實(shí)產(chǎn)品中使用推理和視覺加速等先進(jìn)技術(shù)的障礙。
Khronos 加速標(biāo)準(zhǔn)
20 多年來,Khronos 創(chuàng)建了開放、免版稅的 API 標(biāo)準(zhǔn),使軟件應(yīng)用程序庫和引擎能夠利用硅加速的力量來滿足要求苛刻的用例,例如 3D 圖形、增強(qiáng)和虛擬現(xiàn)實(shí)、并行計(jì)算、視覺處理和推理。
Khronos 開放、免版稅、互操作性標(biāo)準(zhǔn)
許多行業(yè)專家一致認(rèn)為,我們正面臨摩爾定律的終結(jié),因此業(yè)界對并行計(jì)算的興趣日益濃厚,將加速的重點(diǎn)從單核的頻率擴(kuò)展轉(zhuǎn)移到擁有可用于顯著加速的大型核陣列的處理器上數(shù)據(jù)并行算法。
從廣義上講,并行計(jì)算的 Khronos 加速標(biāo)準(zhǔn)可以分為兩組。高級編程框架(例如 SYCL 和 OpenVX)專注于簡化開發(fā),并具有跨多個(gè)硬件架構(gòu)的有效性能可移植性。相比之下,OpenCL 和 Vulkan 等低級 API 使用內(nèi)核和著色器程序的 SPIR-V 中間表示,提供對硬件資源的直接、顯式訪問,以實(shí)現(xiàn)最大的靈活性和控制。
SYCL(讀作“鐮刀”)使異構(gòu)處理器的代碼能夠與主機(jī)應(yīng)用程序代碼一起編寫在“單一源”文件中,使用標(biāo)準(zhǔn) C++ 在各種硬件上實(shí)現(xiàn)可移植加速。SYCL 通常會將要卸載到加速處理器上的 C++ 應(yīng)用程序部分編譯成較低級別的 API,例如 OpenCL。
OpenVX(VX 代表“視覺加速”)提供圖形級抽象,通過連接一組函數(shù)或“節(jié)點(diǎn)”來構(gòu)建成像和推理功能。這種高級抽象使芯片供應(yīng)商能夠有效地優(yōu)化他們的 OpenVX 驅(qū)動程序,以便在幾乎任何處理器架構(gòu)上高效執(zhí)行。OpenVX 圖形可以結(jié)合視覺處理和神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行全局優(yōu)化,并且可以直接攝取 Khronos 的 NNEF 格式的完整訓(xùn)練網(wǎng)絡(luò),這提供了來自不同神經(jīng)網(wǎng)絡(luò)框架的開源轉(zhuǎn)換器的穩(wěn)定規(guī)范。
Vulkan是對現(xiàn)代 GPU 進(jìn)行高效、跨平臺訪問的唯一開放標(biāo)準(zhǔn)。Vulkan 可以使用計(jì)算著色器以及圖形渲染加速任何兼容 GPU 上的計(jì)算操作。Vulkan 為下一代 3D 圖形和計(jì)算的開發(fā)人員帶來了許多好處,包括更簡單的驅(qū)動程序、直接和顯式的 GPU 控制、用于多線程應(yīng)用程序的多個(gè)圖形、命令和 DMA 隊(duì)列,以及用于多種著色語言的離線前端編譯器。
OpenCL是一種低級標(biāo)準(zhǔn),用于對 PC、服務(wù)器、移動設(shè)備和嵌入式設(shè)備(包括 GPU、DSP 和 FPGA)中的各種異構(gòu)處理器進(jìn)行跨平臺并行編程。OpenCL 提供基于 C 和 C++ 的語言來編寫內(nèi)核程序,這些程序可以在系統(tǒng)中的任何處理器上并行編譯和執(zhí)行,并明確控制在哪些處理器上執(zhí)行哪些內(nèi)核。OpenCL 通過提供更簡單的編程模型、相對輕量級的運(yùn)行時(shí)、更高的語言靈活性和更嚴(yán)格定義的計(jì)算操作精度來補(bǔ)充僅 GPU 的 API。
旨在簡化功能安全認(rèn)證的 API
安全認(rèn)證在汽車、自動駕駛、醫(yī)學(xué)成像、交通運(yùn)輸、工業(yè)、能源和航空電子設(shè)備等許多市場中至關(guān)重要。計(jì)算或顯示子系統(tǒng)故障會帶來重大安全風(fēng)險(xiǎn)的系統(tǒng)需要系統(tǒng)級功能安全認(rèn)證并符合安全標(biāo)準(zhǔn),例如 RTCA DO-178C A 級/EASA ED-12C A 級(航空電子設(shè)備)、ISO 26262 ASIL D(汽車)、IEC 61508(工業(yè))和 IEC 62304(醫(yī)療),并遵守 MISRA 和 AUTOSAR 等行業(yè)組織的指導(dǎo)方針。
這些市場對高級加速圖形和計(jì)算的需求正在增長,這些加速器必須包含在系統(tǒng)級安全認(rèn)證中。安全認(rèn)證的高成本推動了開放標(biāo)準(zhǔn)加速 API 的開發(fā),這些 API 旨在通過消除嵌入式市場不必要的功能、增加運(yùn)行時(shí)確定性以及通過減少 API 表面積來簡化系統(tǒng)級認(rèn)證過程。提供強(qiáng)大的錯(cuò)誤處理。
從 2003 年的 OpenGL SC 1.0 開始,Khronos 擁有 20 年為安全關(guān)鍵市場調(diào)整主流加速 API 的歷史。這些舉措利用經(jīng)過驗(yàn)證的 API 和多種交付芯片實(shí)現(xiàn),并且開發(fā)人員已經(jīng)熟悉這些 API。
最近發(fā)布的 Vulkan SC 1.0 簡化了 Vulkan SC 1.2 API 并提高了運(yùn)行時(shí)確定性。Vulkan SC 管道可以離線編譯和靜態(tài)分析,以了解數(shù)據(jù)流和內(nèi)存使用情況。然后可以在設(shè)備創(chuàng)建時(shí)將管道執(zhí)行所需的內(nèi)存保留為固定大小的池,以最大限度地減少總體內(nèi)存使用量并避免運(yùn)行時(shí)內(nèi)存分配的需要。Vulkan SC 使系統(tǒng)實(shí)施者能夠部署 GPU 加速的圖形和計(jì)算來滿足安全關(guān)鍵義務(wù),并以更低的成本和工作量提供認(rèn)證證據(jù)包。即使沒有正式的安全認(rèn)證,Vulkan SC 對于實(shí)時(shí)嵌入式應(yīng)用程序也非常寶貴。
OpenVX 具有安全關(guān)鍵型配置文件,可以快速部署經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,使用 OpenVX 作為推理引擎,非常適合安全關(guān)鍵型市場。OpenVX 安全關(guān)鍵配置文件通過將 OpenVX 圖的開發(fā)與其執(zhí)行分開,使運(yùn)行時(shí)能夠攝取已離線預(yù)編譯的二進(jìn)制圖定義,從而最大限度地減少運(yùn)行時(shí) API 表面積和運(yùn)行時(shí)大小。OpenVX 規(guī)范還使用功能要求標(biāo)簽編號進(jìn)行了注釋,并且 OpenVX 標(biāo)頭符合 MISRA-C。
Khronos 最近還成立了SYCL 安全關(guān)鍵探索論壇,以調(diào)查在安全關(guān)鍵市場中使用 SYCL 標(biāo)準(zhǔn) C++ 單源編程模型加速計(jì)算的通用并行編程 API 的行業(yè)要求。以硬件為中心的 API 設(shè)計(jì)越來越多地與復(fù)雜的編譯器技術(shù)融合,在利用硅加速進(jìn)行計(jì)算加速時(shí),將可編程靈活性和可移植性顯著提升到新的水平。SYCL SC 探索性論壇處于發(fā)現(xiàn)階段,以便在開始標(biāo)準(zhǔn)化工作之前充分了解行業(yè)要求并就行業(yè)要求達(dá)成共識。任何公司都被邀請免費(fèi)加入探索論壇,并且沒有知識產(chǎn)權(quán)許可義務(wù)。
標(biāo)準(zhǔn)組織攜手合作
行業(yè)中有許多標(biāo)準(zhǔn)開發(fā)組織 (SDO),每個(gè)組織都有自己的專業(yè)領(lǐng)域,因此 SDO 必須建立富有成效的聯(lián)絡(luò)關(guān)系以避免重復(fù)工作,并確保來自不同組織的不同標(biāo)準(zhǔn)能夠很好地協(xié)同工作。
Khronos 最近宣布與汽車電子、半導(dǎo)體和軟件行業(yè)的汽車制造商、供應(yīng)商、服務(wù)提供商和公司的全球發(fā)展合作伙伴 AUTOSAR 建立聯(lián)系。這項(xiàng)新的合作協(xié)議鼓勵(lì)信息的有效流動,同時(shí)尊重兩個(gè)組織的機(jī)密性和知識產(chǎn)權(quán)框架。它使 Khronos 成員能夠接收有關(guān) AUTOSAR 活動的信息和見解,反之亦然。最終目標(biāo)是讓 AUTOSAR 用例和需求指導(dǎo)和影響 Khronos 標(biāo)準(zhǔn)的演變,并使 AUTOSAR 平臺能夠有效地利用這些 Khronos API。
在過去的兩年里,Khronos 還與歐洲機(jī)器視覺協(xié)會 (EMVA) 密切合作,建立了 Khronos 相機(jī)工作組,該工作組現(xiàn)在正在構(gòu)建一個(gè)新的開放標(biāo)準(zhǔn) API,用于控制嵌入式相機(jī)。
復(fù)雜的光學(xué)系統(tǒng)、圖像傳感器和視覺處理器的發(fā)展正在加速,嵌入式系統(tǒng)通常將相機(jī)傳感器與圖像、視覺和推理加速器緊密集成到獨(dú)立的系統(tǒng)中。雖然上述 Khronos API 可用于視覺和推理加速,但沒有廣泛采用的開放標(biāo)準(zhǔn)、跨供應(yīng)商 API 來簡化新相機(jī)子系統(tǒng)的軟件集成,從而導(dǎo)致相機(jī)技術(shù)的集成成本過高。
對開放標(biāo)準(zhǔn)相機(jī) API 的需求
Khronos 和 EMVA 成員正在設(shè)計(jì)的相機(jī) API 將通過精確定義的接口為應(yīng)用程序、庫和框架提供對相機(jī)運(yùn)行時(shí)的顯式控制,從而實(shí)現(xiàn)應(yīng)用程序代碼的跨供應(yīng)商可移植性,并更輕松地與新相機(jī)和傳感器進(jìn)行系統(tǒng)集成。該 API 還將跨多代相機(jī)和傳感器保留應(yīng)用程序代碼,并實(shí)現(xiàn)對傳感器流生成的復(fù)雜控制,以提高下游處理的效率。
目前正在設(shè)計(jì)的 Khronos Camera API 的范圍
參與構(gòu)建您需要的開放標(biāo)準(zhǔn)
嵌入式產(chǎn)品中越來越多地使用計(jì)算、視覺和推理加速的集成帶來了重大的新商機(jī),Khronos 正在開發(fā)一個(gè)不斷增長的開放、免版稅 API 標(biāo)準(zhǔn)系列,以滿足嵌入式和安全關(guān)鍵型快速發(fā)展的需求市場。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2545文章
50459瀏覽量
751104 -
嵌入式
+關(guān)注
關(guān)注
5060文章
18975瀏覽量
302093 -
API
+關(guān)注
關(guān)注
2文章
1473瀏覽量
61750
發(fā)布評論請先 登錄
相關(guān)推薦
評論