當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 近年來(lái),處理器從最高功率轉(zhuǎn)移到核心跟蹤的主要原因是量子效應(yīng)不能將高功率和低功耗結(jié)合起來(lái),因此有必要,轉(zhuǎn)換為加快。新技術(shù)軟件開(kāi)發(fā)是一個(gè)通用的操作模塊,不僅適用于異構(gòu)cpu,而且也適用于圖形加速器、DSP和FPGA可以。到加快算法速度,滿(mǎn)足日益增長(zhǎng)的運(yùn)算要求。

近年來(lái),處理器從最高功率轉(zhuǎn)移到核心跟蹤的主要原因是量子效應(yīng)不能將高功率和低功耗結(jié)合起來(lái),因此有必要,轉(zhuǎn)換為加快。新技術(shù)軟件開(kāi)發(fā)是一個(gè)通用的操作模塊,不僅適用于異構(gòu)cpu,而且也適用于圖形加速器、DSP和FPGA可以。到加快算法速度,滿(mǎn)足日益增長(zhǎng)的運(yùn)算要求。

OpenCL由蘋(píng)果公司提議開(kāi)發(fā),得到Khronos Group的維護(hù),其開(kāi)發(fā)目的是提供便攜式開(kāi)放編程架構(gòu),這使得軟件可并行利用多核CPU和專(zhuān)用處理內(nèi)核,特別是圖形處理器可實(shí)現(xiàn)并行處理非圖形處理。

OpenCL與OpenGL類(lèi)似,也就是都可實(shí)現(xiàn)利用不可知設(shè)備開(kāi)放標(biāo)準(zhǔn)以創(chuàng)建自定義實(shí)現(xiàn)。在設(shè)計(jì)上OpenCL可與OpenGL一同工作,也就是可共享架構(gòu)數(shù)據(jù),使用OpenCL完成的數(shù)據(jù),接著可使用OpenGL顯示。OpenCL標(biāo)準(zhǔn)由2008年成立的工作組開(kāi)發(fā),Nvidia主持工作,Apple參與編輯。從那以后,OpenCL標(biāo)準(zhǔn)向后兼容的修訂版本經(jīng)過(guò)一系列可用于驗(yàn)證一致性的一致性測(cè)試完成發(fā)布。

OpenCL對(duì)現(xiàn)有處理器的一致性實(shí)現(xiàn)主要適用于芯片供應(yīng)商(Altera, AMD, ARM, Freescale, Imagination Technologies, Intel, Nvidia, 德州儀器,賽靈思等)。 為加速運(yùn)行OpenCL架構(gòu),需要使用針對(duì)這些供應(yīng)商的OpenCL驅(qū)動(dòng)器。

OpenCL與Nvidia的CUDA,Stanford的Brookand和微軟DirectCompute類(lèi)似。 與這些語(yǔ)言相比,OpenCL具有開(kāi)放、便攜、低端、與硬件較適應(yīng)的特點(diǎn),但在一定程度上較難使用。這主要是因?yàn)镺penCL用于支持異構(gòu)內(nèi)核并行處理的便攜式硬件抽象層。

OpenCL還形成基于帶有其他功能的C99子集的語(yǔ)言,可支持兩種不同的并行處理模式,即任務(wù)并行和數(shù)據(jù)并行。

任務(wù)并行是嵌入式模式,最為工程師所熟悉。任務(wù)并行一般利用多線(xiàn)程O(píng)S實(shí)現(xiàn),以便于不同的線(xiàn)程可同時(shí)運(yùn)行。在線(xiàn)程需要訪(fǎng)問(wèn)共享資源時(shí),可利用互斥器、信號(hào)或其他各類(lèi)的鎖定機(jī)制。 OpenCL支持這種程序模式,但這并不是其強(qiáng)大功能。

數(shù)據(jù)并行可應(yīng)用于使用跨數(shù)據(jù)集進(jìn)行同一操作的算法。在數(shù)據(jù)并行模式中,一種運(yùn)行如框過(guò)濾器具有并行性,這樣同一微算法可并行運(yùn)行多次,但這種算法的各項(xiàng)實(shí)例化可在其自身的數(shù)據(jù)子集上運(yùn)行——這樣實(shí)現(xiàn)了數(shù)據(jù)并行。這是最適于OpenCL支持的程序模式。OpenCL的五種兼容交叉模式有助于解釋這些概念。這些模式是架構(gòu)、平臺(tái)、執(zhí)行、內(nèi)存和程序。

OpenCL架構(gòu)包括平臺(tái)層、運(yùn)行時(shí)間和編譯器。平臺(tái)允許主程序查詢(xún)可用設(shè)備,創(chuàng)建前后關(guān)系。運(yùn)行時(shí)間允許主程序操縱前后關(guān)系。編譯器創(chuàng)建可執(zhí)行程序并基于帶有一些其他語(yǔ)言功能的C99子集以支持并行程序。為向芯片供應(yīng)商提供OpenCL一致性,需要提供啟動(dòng)架構(gòu)運(yùn)行的OpenCL驅(qū)動(dòng)器。

通過(guò)連接一個(gè)或多個(gè)器件的主機(jī)定義平臺(tái),如GPU。各器件被分為一個(gè)或多個(gè)的運(yùn)算單元,如內(nèi)核。各運(yùn)算單元被分為一個(gè)或多個(gè)處理元件。

OpenCL程序執(zhí)行發(fā)生在兩處:在器件上執(zhí)行的內(nèi)核,最常見(jiàn)的是GPU,以及在主機(jī)器件上執(zhí)行的主機(jī)程序,最常見(jiàn)的是CPU。

要了解執(zhí)行模式,最好先了解內(nèi)核如何運(yùn)行。主機(jī)計(jì)劃執(zhí)行內(nèi)核時(shí),需要定義索引空間。內(nèi)核實(shí)例(工作項(xiàng))執(zhí)行這個(gè)索引空間的各個(gè)項(xiàng)目。

在OpenCL中,索引空間被表示為NDRange。NDRange是一維、二維、或三維索引空間。NDRange的圖形表示如圖1。主機(jī)定義內(nèi)核使用的前后關(guān)系。前后關(guān)系包括器件表、內(nèi)核、源代碼和內(nèi)存對(duì)象。通過(guò)主機(jī)產(chǎn)生和維護(hù)前后關(guān)系。另外,主機(jī)利用叫作命令隊(duì)列的OpenCL API創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。主機(jī)通過(guò)命令隊(duì)列安排內(nèi)核在器件上運(yùn)行。

圖 1 NDRange的圖形表示

可在命令隊(duì)列上放置的命令包括內(nèi)核執(zhí)行命令、內(nèi)存管理命令和同步命令。同步命令用于限制其他命令的執(zhí)行順序。通過(guò)在OpenCL命令隊(duì)列放置命令,運(yùn)行時(shí)間可在系統(tǒng)內(nèi)處理在器件并行完成的命令。

執(zhí)行內(nèi)核的工作項(xiàng)目可訪(fǎng)問(wèn)下列內(nèi)存:

? 全局內(nèi)存——適用于所有工作組的所有工作項(xiàng)目。

? 常量?jī)?nèi)存——由主機(jī)初始化,在整個(gè)內(nèi)核壽命中內(nèi)存保持為常量。

? 本地內(nèi)存——由工作組共享的內(nèi)存。

? 私有內(nèi)存——單個(gè)工作項(xiàng)目私有的內(nèi)存。

正如上文所述,OpenCL主要支持兩種程序模式:數(shù)據(jù)并行,即各處理器在分布式數(shù)據(jù)的不同條目上執(zhí)行同一任務(wù);任務(wù)并行,即在共同的數(shù)據(jù)集上執(zhí)行多個(gè)任務(wù)。在各類(lèi)并行程序中,運(yùn)行中并行線(xiàn)程同步被視為首選。OpenCL為并行處理間的同步控制提供三種方式。第一種方式是在索引空間內(nèi)創(chuàng)建以限制某個(gè)工作項(xiàng)目以便使工作項(xiàng)目按順序運(yùn)行。第二種方式是在命令隊(duì)列內(nèi)建障礙以限制命令順序。第三種方式是在命令隊(duì)列內(nèi)創(chuàng)建由命令生成的事件。這些事件的運(yùn)行可強(qiáng)制順序操作。

例如使用工具OpenCL特別適用于圖像/視頻編輯應(yīng)用程序, AI 系統(tǒng),模型架構(gòu),游戲物理,電影渲染,和增強(qiáng)現(xiàn)實(shí)。但主要在嵌入式移動(dòng)器件中還設(shè)置了為OpenCL標(biāo)準(zhǔn)定義的嵌入式配置文件,包括整個(gè)OpenCL標(biāo)準(zhǔn)的子集。OpenCL嵌入式配置文件包括以下幾個(gè)亮點(diǎn):

? 64位整數(shù)(可選)

? 3D圖形支持(可選)

? 為浮點(diǎn)計(jì)算放寬估算規(guī)則

? 提高嵌入式器件轉(zhuǎn)換的準(zhǔn)確度

? 內(nèi)置原子函數(shù)(可選)

展望未來(lái),OpenCL路線(xiàn)圖包括幾項(xiàng)計(jì)劃,以提高OpenCL至下一個(gè)相關(guān)程度。

高級(jí)模式(OpenCL-HLM):OpenCL目前正探索通過(guò)語(yǔ)言構(gòu)件整合器件和主機(jī)執(zhí)行環(huán)境,以便提高OpenCL的易用性。如果實(shí)現(xiàn)這項(xiàng)計(jì)劃,OpenCL的應(yīng)用將更加廣泛。

長(zhǎng)期重要路線(xiàn)圖:OpenCL正不斷探索加強(qiáng)內(nèi)存和執(zhí)行模式的方式,以利用不斷更新的硬件功能。另外,OpenCL正不斷努力利用經(jīng)優(yōu)化的同步工具,使并行程序模式在 OpenCL 運(yùn)行得更加強(qiáng)健。

WebCL: OpenCL的愿景是通過(guò)Java腳本綁定件進(jìn)行并行運(yùn)算。

標(biāo)準(zhǔn)并行中間表示(OpenCL-SPIR):OpenCL計(jì)劃擺脫創(chuàng)建編譯器和語(yǔ)言綁定件的業(yè)務(wù)。創(chuàng)建標(biāo)準(zhǔn)化中間表示,可通過(guò)不屬于OpenCL內(nèi)核團(tuán)隊(duì)的工程師將OpenCL綁定至新語(yǔ)言,這樣可擴(kuò)大OpenCL的應(yīng)用范圍,并使得OpenCL中間表示成為現(xiàn)在乃至未來(lái)編譯器的目標(biāo)。

OpenCL前景光明,但仍面臨著許多問(wèn)題亟待解決,工作組的當(dāng)前計(jì)劃已經(jīng)解決了其中的很多問(wèn)題。在下一個(gè)運(yùn)算階段,我們預(yù)測(cè)處理內(nèi)核將會(huì)劇增,包括異構(gòu)CPU和異構(gòu)CPU/GPU,我們?nèi)詫⑿枰墒燔浖軜?gòu),這有助于使我們利用所有硬件運(yùn)算功能,將其應(yīng)用于我們的系統(tǒng)。在這種大趨勢(shì)下,OpenCL被堅(jiān)持定位為開(kāi)放、自由、成熟的標(biāo)準(zhǔn),得到行業(yè)支持,并將擁有光明的未來(lái)。

編輯:GT

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉