亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于增強(qiáng)的圖像處理并行性的具有等價(jià)類(lèi)的基于圖形的應(yīng)用程序編程接口架構(gòu)的制作方法

文檔序號(hào):11635642閱讀:257來(lái)源:國(guó)知局
用于增強(qiáng)的圖像處理并行性的具有等價(jià)類(lèi)的基于圖形的應(yīng)用程序編程接口架構(gòu)的制造方法與工藝

要求優(yōu)先權(quán)保護(hù)

本申請(qǐng)要求保護(hù)2015年3月20日提交的題為“graph-basedapplicationprogramminginterfacearchitectureswithequivalencyclassesforenhancedimageprocessingparallelism”的美國(guó)專(zhuān)利申請(qǐng)序列號(hào)14/664,743的優(yōu)先權(quán),該美國(guó)專(zhuān)利申請(qǐng)序列號(hào)14/664,743根據(jù)35u.s.c.sec.119(e)要求2015年1月16日提交的題為“graph-basedapplicationprogramminginterfacearchitecturesandoptimizationenginesforenhancedimageprocessingparallelism”的美國(guó)臨時(shí)申請(qǐng)序列號(hào)62/104,226的權(quán)益,通過(guò)引用將這二者整體合并于此以用于所有目的。



背景技術(shù):

計(jì)算機(jī)視覺(jué)處理(例如面部/身體/姿勢(shì)跟蹤、對(duì)象和場(chǎng)景檢測(cè)/重建、自動(dòng)視覺(jué)檢查、等等)成為計(jì)算設(shè)備平臺(tái)的越來(lái)越重要的能力。對(duì)于實(shí)時(shí)、移動(dòng)和/或嵌入式設(shè)備應(yīng)用程序來(lái)說(shuō),針對(duì)性能和/或功率而優(yōu)化的加速視覺(jué)處理特別重要。越來(lái)越強(qiáng)大的處理器和圖像傳感器使得計(jì)算平臺(tái)能夠具有更大的視覺(jué)智能。然而,遍布最適合應(yīng)用程序的設(shè)備平臺(tái)處理器分配復(fù)雜視覺(jué)處理算法仍是一個(gè)難題。

典型的圖像處理應(yīng)用程序?qū)D像執(zhí)行若干連續(xù)操作,其中一個(gè)操作的輸出被用作另一操作的輸入(例如流水線(xiàn)級(jí))。基于圖形的圖像處理實(shí)現(xiàn)優(yōu)化api為視覺(jué)處理執(zhí)行和存儲(chǔ)器模型提供有用的抽象層級(jí),并且提供作為有向非循環(huán)圖形(dag)的操作序列的形式描述。dag是節(jié)點(diǎn)的集合,其借助于它們之間的連接來(lái)描述該圖像處理任務(wù)。圖形的節(jié)點(diǎn)對(duì)應(yīng)于源和目的地?cái)?shù)據(jù)(例如圖像)或圖像上的操作。圖形的邊緣限定任務(wù)中的數(shù)據(jù)流。各節(jié)點(diǎn)之間的連接意味著一個(gè)操作的結(jié)果(“輸出”)被用作另一操作的輸入。每個(gè)節(jié)點(diǎn)都可與要在那里執(zhí)行該節(jié)點(diǎn)的一個(gè)或多個(gè)硬件資源相關(guān)聯(lián)。

由科納斯團(tuán)隊(duì)在2014年10月發(fā)布的openvx1.0規(guī)范是提供用于管理和執(zhí)行圖形的框架的基于圖形的圖像處理實(shí)現(xiàn)優(yōu)化api的一個(gè)示例。利用這樣的api,應(yīng)用程序開(kāi)發(fā)者可通過(guò)構(gòu)建圖像處理函數(shù)的圖形來(lái)限定圖像處理任務(wù)并依賴(lài)于在寬泛陣列的平臺(tái)上實(shí)現(xiàn)的api框架。實(shí)施者提供與基于圖形的實(shí)現(xiàn)api兼容的圖形編譯器和圖形執(zhí)行器并且被配置成通過(guò)將圖像數(shù)據(jù)傳遞通過(guò)圖形節(jié)點(diǎn)來(lái)更有效地執(zhí)行針對(duì)給定實(shí)現(xiàn)的圖像處理任務(wù)。

基于圖形的圖像處理實(shí)現(xiàn)api為實(shí)施者提供完成例如可通過(guò)并行性來(lái)提高效率的任務(wù)/工作分派和調(diào)度決策所需的信息是有益的。

附圖說(shuō)明

通過(guò)示例的方式并且不通過(guò)在附圖中限制的方式來(lái)圖示本文中所述的物質(zhì)。為了簡(jiǎn)潔且清楚的說(shuō)明,圖中圖示的元件不一定按照比例來(lái)繪制。例如,為了清楚起見(jiàn),某些元件的尺度可能相對(duì)于其他元件被放大。此外,在考慮適當(dāng)?shù)那闆r下,已在各圖之間重復(fù)參考標(biāo)記以指示對(duì)應(yīng)或類(lèi)似的元件。在圖中:

圖1a圖示根據(jù)一些實(shí)施例的要被包括在圖像處理圖形中的節(jié)點(diǎn);

圖1b圖示根據(jù)一些實(shí)施例的將節(jié)點(diǎn)連接到圖像處理圖形中;

圖1c圖示根據(jù)一些實(shí)施例的圖像處理圖形的執(zhí)行;

圖2a圖示根據(jù)一些實(shí)施例的通過(guò)基于任務(wù)的分解的基于圖形的優(yōu)化;

圖2b圖示根據(jù)一些實(shí)施例的通過(guò)空間分解的基于圖形的優(yōu)化;

圖2c圖示需要空間和任務(wù)分解二者的基于圖形的優(yōu)化;

圖2d圖示根據(jù)一些實(shí)施例的對(duì)異構(gòu)硬件資源的空間和任務(wù)分解二者;

圖3a是圖示根據(jù)一些實(shí)施例的對(duì)異構(gòu)硬件資源的子任務(wù)分解的功能框圖;

圖3b是圖示被約束成保持位等價(jià)的子任務(wù)分解的功能框圖;

圖3c是圖示根據(jù)一些實(shí)施例的對(duì)基于等價(jià)類(lèi)節(jié)點(diǎn)的異構(gòu)硬件資源的子任務(wù)分解的功能框圖;

圖3d是圖示根據(jù)一些實(shí)施例的基于節(jié)點(diǎn)層級(jí)等價(jià)定義的子任務(wù)分解的功能框圖;

圖4是圖示根據(jù)一些實(shí)施例的節(jié)點(diǎn)定義的等價(jià)邏輯的部件的功能框圖;

圖5a是圖示根據(jù)一些實(shí)施例的用于創(chuàng)建等價(jià)類(lèi)節(jié)點(diǎn)的方法的流程圖;

圖5b是圖示根據(jù)一些實(shí)施例的用于執(zhí)行等價(jià)類(lèi)節(jié)點(diǎn)的方法的流程圖;

圖6是圖示根據(jù)一些實(shí)施例的包括等價(jià)圖形節(jié)點(diǎn)圖形優(yōu)化的圖像處理流水線(xiàn)實(shí)現(xiàn)的功能框圖;

圖7是根據(jù)一些實(shí)施例的數(shù)據(jù)處理系統(tǒng)的功能框圖;

圖8是根據(jù)一些實(shí)施例的包括具有節(jié)點(diǎn)定義的等價(jià)邏輯的處理器的示例性超低電力系統(tǒng)的圖;以及

圖9是根據(jù)一些實(shí)施例布置的示例性移動(dòng)手機(jī)平臺(tái)的圖。

具體實(shí)施方式

參考所附的圖來(lái)描述一個(gè)或多個(gè)實(shí)施例。盡管詳細(xì)描繪和討論了具體配置和布置,但是應(yīng)該理解這樣做僅為了說(shuō)明性目的。相關(guān)領(lǐng)域的技術(shù)人員將會(huì)認(rèn)識(shí)到在不偏離該描述的精神和范圍的情況下其他配置和布置是可能的。對(duì)于相關(guān)領(lǐng)域的技術(shù)人員將顯而易見(jiàn)的是,可在超出本文中詳細(xì)描述的各種各樣其他系統(tǒng)和應(yīng)用中采用本文中所述的技術(shù)和/或布置。

在下面的詳細(xì)描述中,參考形成其一部分并且說(shuō)明示例性實(shí)施例的附圖。此外,要理解,可利用其他實(shí)施例并且可在不偏離所要求保護(hù)的主題的范圍的情況下做出結(jié)構(gòu)和/或邏輯變化。因此,不要以限制的意義來(lái)采用下面的詳細(xì)描述,并且所要求保護(hù)的主題的范圍僅由所附權(quán)利要求及其等同物來(lái)限定。

在下面的描述中,闡述許多細(xì)節(jié),然而,對(duì)于本領(lǐng)域技術(shù)人員將顯而易見(jiàn)的是,可在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)行實(shí)施例。以框圖形式而不是詳細(xì)地示出公知的方法和設(shè)備,以避免使更多重要方面模糊。遍及本說(shuō)明書(shū)對(duì)“實(shí)施例”或“一個(gè)實(shí)施例”的參考意指結(jié)合該實(shí)施例所述的特定特征、結(jié)構(gòu)、功能或特性被包括在至少一個(gè)實(shí)施例中。因此,在遍及該說(shuō)明書(shū)的各個(gè)地方中的短語(yǔ)“在實(shí)施例中”或“在一個(gè)實(shí)施例中”的出現(xiàn)不一定指代同一實(shí)施例。此外,在實(shí)施例的上下文中描述的特定特征、結(jié)構(gòu)、功能或特性可以以任何適當(dāng)?shù)姆绞奖唤M合在一個(gè)或多個(gè)實(shí)施例中。例如,第一實(shí)施例可與第二實(shí)施例組合,在任何地方與這兩個(gè)實(shí)施例相關(guān)聯(lián)的特定特征、結(jié)構(gòu)、功能或特性沒(méi)有互相排斥。

如在示例性實(shí)施例的描述和所附權(quán)利要求中所使用的,意圖使單數(shù)形式“一”、“一個(gè)”、“該”也包括復(fù)數(shù)形式,除非上下文以其他方式明確指出。還將理解,本文中所使用的術(shù)語(yǔ)“和/或”指代并包括相關(guān)聯(lián)的所列條目的一個(gè)或多個(gè)的任何和所有可能組合。

如遍及該描述,并且在權(quán)利要求中所使用的,通過(guò)術(shù)語(yǔ)“…中的至少一個(gè)”或“…中的一個(gè)或多個(gè)”結(jié)合的條目列表可以意指所列條目的任何組合。例如,短語(yǔ)“a、b或c中的至少一個(gè)”可以意指a;b;c;a和b;a和c;b和c;或a和b和c。

可在本文中使用術(shù)語(yǔ)“耦合”和“連接”連同它們的派生詞以描述各部件之間的功能或結(jié)構(gòu)關(guān)系。應(yīng)該理解,不意圖使這些術(shù)語(yǔ)作為彼此的同義詞。相反,在特定實(shí)施例中,“連接”可被用來(lái)指示兩個(gè)或更多元件處于彼此的直接物理、光學(xué)或電氣接觸?!榜詈稀笨杀挥脕?lái)指示兩個(gè)或更多元件處于彼此的直接或間接(在它們之間具有其他居間元件)物理、光學(xué)或電氣接觸,以及/或者兩個(gè)或更多元件彼此協(xié)作或交互(例如如在效應(yīng)關(guān)系的條款中)。

根據(jù)對(duì)計(jì)算機(jī)存儲(chǔ)器內(nèi)的數(shù)據(jù)位的操作的算法和符號(hào)表示來(lái)給出本文中提供的具體描述的某些部分。除非以其他方式具體闡述,如從下面的討論中顯而易見(jiàn)的,要認(rèn)識(shí)到,遍及該描述,利用諸如“計(jì)算”、“估算”、“確定”、“估計(jì)”、“存儲(chǔ)”、“收集”、“顯示”、“接收”、“合并”、“生成”、“更新”等等之類(lèi)的術(shù)語(yǔ)的討論指代計(jì)算機(jī)系統(tǒng)或類(lèi)似電子計(jì)算設(shè)備的動(dòng)作和過(guò)程,其操控被表示為包括寄存器和存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)的電路內(nèi)的物理(電子)量的數(shù)據(jù)并將其變換成類(lèi)似地被表示為計(jì)算機(jī)系統(tǒng)存儲(chǔ)器或寄存器或其他此類(lèi)信息存儲(chǔ)、傳輸或顯示設(shè)備內(nèi)的物理量的其他數(shù)據(jù)。

盡管下面的描述闡述可在架構(gòu)(例如比如片上系統(tǒng)(soc)架構(gòu))顯現(xiàn)的實(shí)施例,但是本文中所述的技術(shù)和/或布置的實(shí)現(xiàn)不被限于特定架構(gòu)和/或計(jì)算系統(tǒng),并且為了類(lèi)似的目的可通過(guò)任何架構(gòu)和/或計(jì)算系統(tǒng)來(lái)實(shí)施。采用例如多個(gè)集成電路(ic)芯片和/或封裝的各種架構(gòu)和/或各種計(jì)算設(shè)備和/或消費(fèi)類(lèi)電子(ce)設(shè)備(諸如機(jī)頂盒、智能手機(jī)等等)可實(shí)施本文中所述的技術(shù)和/或布置。此外,盡管下面的描述可闡述許多具體細(xì)節(jié)(諸如系統(tǒng)部件、邏輯劃分/集成選擇等等的邏輯實(shí)現(xiàn)、類(lèi)型和相互關(guān)系),但是可在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)行所要求保護(hù)的主題。此外,可以不詳細(xì)示出某一素材(諸如例如控制結(jié)構(gòu)和所有軟件指令序列),以便不使本文中公開(kāi)的素材模糊。

可以以硬件來(lái)實(shí)施本文中公開(kāi)的素材的某些部分,例如作為中央處理器內(nèi)核的邏輯電路??梢砸杂布?、固件、軟件或其任何組合來(lái)實(shí)施某些其他部分。本文中公開(kāi)的素材中的至少一些還可以被實(shí)施為存儲(chǔ)在機(jī)器可讀介質(zhì)上的指令,其可被一個(gè)或多個(gè)可編程處理器(圖形處理器和/或中央處理器)讀取和執(zhí)行。機(jī)器可讀介質(zhì)可包括用于存儲(chǔ)或傳送以可被機(jī)器(例如計(jì)算設(shè)備)讀取的形式的信息的任何介質(zhì)和/或機(jī)構(gòu)。例如,機(jī)器可讀介質(zhì)可包括只讀存儲(chǔ)器(rom);隨機(jī)存取存儲(chǔ)器(ram);磁盤(pán)存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃速存儲(chǔ)器設(shè)備;電、光、聲、或其他類(lèi)似非瞬時(shí)有形介質(zhì)。

下面描述了用于在圖像圖形處理中提取并行的一個(gè)或多個(gè)系統(tǒng)、設(shè)備、方法和計(jì)算機(jī)可讀介質(zhì)。下面描述的對(duì)于示例性圖像處理實(shí)施例的技術(shù)和架構(gòu)可以被應(yīng)用于被概括成技術(shù)的許多其他數(shù)據(jù)塊,諸如但不限于信號(hào)處理和音頻/視頻編碼。

在一些實(shí)施例中,通過(guò)圖像處理軟件開(kāi)發(fā)人員將用于執(zhí)行一組或一系列成像操作的引擎表示為函數(shù)調(diào)用的圖形或一系列函數(shù)調(diào)用。圖形是一類(lèi)對(duì)象,其包含所有信息以便將各節(jié)點(diǎn)之間的計(jì)算組織在圖形中。圖形api的圖形類(lèi)接口實(shí)現(xiàn)將節(jié)點(diǎn)添加到圖形以及連接它們的輸入和輸出端口。圖像處理圖形的各節(jié)點(diǎn)對(duì)應(yīng)于要在圖像(圖像數(shù)據(jù)塊)上執(zhí)行的源和目的地?cái)?shù)據(jù)以及操作。圖1a圖示具有包含在計(jì)算節(jié)點(diǎn)(例如節(jié)點(diǎn)120、節(jié)點(diǎn)130、節(jié)點(diǎn)140)或者源/目的地節(jié)點(diǎn)中的每個(gè)操作的一組操作。源節(jié)點(diǎn)110和目的地節(jié)點(diǎn)150中的每個(gè)都是明確錄入圖形中的數(shù)據(jù)陣列或數(shù)據(jù)流。

可以例如從許多成百個(gè)/成千個(gè)函數(shù)的內(nèi)容庫(kù)選擇計(jì)算節(jié)點(diǎn)的每個(gè)操作??稍诿總€(gè)節(jié)點(diǎn)內(nèi)謀取任何低層級(jí)的計(jì)算庫(kù)或api(例如opencl順從庫(kù))。在一些實(shí)施例中,為整個(gè)圖像處理設(shè)計(jì)計(jì)算節(jié)點(diǎn)函數(shù)。圖像圖形實(shí)現(xiàn)api提供用于創(chuàng)建/添加節(jié)點(diǎn)的(一個(gè)或多個(gè))函數(shù),例如:

。

節(jié)點(diǎn)對(duì)象包含關(guān)于節(jié)點(diǎn)連接性(輸入和輸出端口的數(shù)目)的信息以及用于與節(jié)點(diǎn)相關(guān)聯(lián)的函數(shù)的主參數(shù)。派生類(lèi)的對(duì)象可以包含其他參數(shù),這取決于節(jié)點(diǎn)函數(shù)。圖1b圖示用來(lái)創(chuàng)建圖像處理任務(wù)的節(jié)點(diǎn)的連接。通過(guò)圖像處理軟件開(kāi)發(fā)人員來(lái)提供圖形邊緣111、112、113、114以限定從源節(jié)點(diǎn)110通過(guò)計(jì)算節(jié)點(diǎn)120、130、140到目的地節(jié)點(diǎn)150的數(shù)據(jù)陣列/數(shù)據(jù)流的流程?;趫D形的實(shí)現(xiàn)api提供用于連接圖像圖形的(一個(gè)或多個(gè))函數(shù),例如:

通過(guò)鏈接方法將許多對(duì)象和端口用于使一個(gè)對(duì)象的輸出端口與另一對(duì)象的輸入端口連接。

在一些實(shí)施例中,然后將圖像圖形變換成、或通過(guò)圖形編譯器編譯成應(yīng)用于在本文中被稱(chēng)為區(qū)塊的輸入圖像數(shù)據(jù)的數(shù)據(jù)塊或小部分的圖像處理函數(shù)調(diào)用序列。區(qū)塊包括具有圖像的整個(gè)寬度的切片,以及圖像內(nèi)任意尺度和取向的矩形。一類(lèi)編譯成員函數(shù)編譯圖形對(duì)象。在編譯期間,針對(duì)循環(huán)的缺乏、隔離節(jié)點(diǎn)的缺乏、數(shù)據(jù)類(lèi)型的對(duì)應(yīng)、和各節(jié)點(diǎn)之間信道的數(shù)目來(lái)驗(yàn)證圖形。在實(shí)施例中,編譯函數(shù)進(jìn)一步負(fù)責(zé)根據(jù)可用高速緩存器的大小來(lái)確定最優(yōu)區(qū)塊大小。在圖像圖形執(zhí)行期間,在源節(jié)點(diǎn)110和目的地節(jié)點(diǎn)150之間通過(guò)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)塊推移構(gòu)成一系列圖像處理任務(wù)。如在圖1c中所圖示的,可利用在分別用于保留每個(gè)任務(wù)的結(jié)果的計(jì)算節(jié)點(diǎn)120、130和130、140之間插入的臨時(shí)緩沖器125、135來(lái)使圖像圖形的執(zhí)行概念化。

在一些實(shí)施例中,圖形優(yōu)化引擎執(zhí)行需要基于任務(wù)的分解的基于圖形的優(yōu)化。對(duì)于基于任務(wù)的分解,(例如在節(jié)點(diǎn)120中)一個(gè)操作的輸出被用作另一操作的輸入(例如在節(jié)點(diǎn)130中)。圖2a中圖示通過(guò)基于任務(wù)的分解的基于圖形的優(yōu)化的一個(gè)示例,在這里分開(kāi)的處理器內(nèi)核或計(jì)算單元被指派不同的任務(wù)。例如,處理器內(nèi)核221負(fù)責(zé)濾波220、處理器內(nèi)核222負(fù)責(zé)調(diào)整大小230,并且處理器內(nèi)核222負(fù)責(zé)第n個(gè)任務(wù)。許多圖像處理應(yīng)用程序利用非常大的圖像(例如若干百萬(wàn)像素),并且用于圖像處理的總存儲(chǔ)器可能超過(guò)本地緩沖器(例如處理器的第二層級(jí)高速緩存器)的大小。在這些情況下,瓶頸變成存儲(chǔ)器存取,所以源圖像210被分解成與源圖像210的各部分相關(guān)聯(lián)的數(shù)據(jù)塊。這些圖像片段(例如源區(qū)塊211、212、213)然后被處理器內(nèi)核221、222、223處理以生成目的地圖像250的目的地區(qū)塊251、252、253。

在一些實(shí)施例中,圖形優(yōu)化引擎執(zhí)行需要基于區(qū)塊的或空間分解的基于圖形的優(yōu)化。如圖2b中所圖示的,每個(gè)處理器內(nèi)核221、222、222負(fù)責(zé)執(zhí)行分別對(duì)于一個(gè)源區(qū)塊211、212、213的濾波220、調(diào)整大小230和第n個(gè)任務(wù)240。作為一個(gè)示例,當(dāng)在數(shù)據(jù)塊上執(zhí)行連續(xù)任務(wù)時(shí),利用基于區(qū)塊的分解的一個(gè)效率可能是數(shù)據(jù)塊(例如對(duì)應(yīng)于一個(gè)區(qū)塊)在本地存儲(chǔ)器緩沖器(例如與存儲(chǔ)器內(nèi)核相關(guān)聯(lián)的兩層級(jí)高速緩存器)內(nèi)的保留。

在一些實(shí)施例中,圖形優(yōu)化引擎執(zhí)行需要空間和任務(wù)分解二者的基于圖形的優(yōu)化。如在圖2c中所描繪的,處理器內(nèi)核221負(fù)責(zé)濾波220,相對(duì)于調(diào)整大小230和第n個(gè)任務(wù)240,該濾波220在計(jì)算上可能昂貴。處理器內(nèi)核222和223可被指派調(diào)整大小230和第n個(gè)任務(wù)240以便從一個(gè)源區(qū)塊211、212輸出單獨(dú)的目的地區(qū)塊251、252。處理器內(nèi)核221處理源區(qū)塊211、212二者以完成濾波任務(wù)220。

在一些實(shí)施例中,圖形優(yōu)化引擎執(zhí)行需要對(duì)于異構(gòu)硬件資源的空間和任務(wù)分解中的任一個(gè)或二者的基于圖形的優(yōu)化。圖2d圖示對(duì)除了包括處理器的多個(gè)內(nèi)核之外還包括硬件加速器260的異構(gòu)硬件資源的空間和任務(wù)分解二者。在所描繪的示例中,加速器260對(duì)所有源區(qū)塊211、212和213運(yùn)用濾波任務(wù)220。一個(gè)處理器內(nèi)核221、222、223分別負(fù)責(zé)用于在對(duì)應(yīng)于一個(gè)源區(qū)塊211、212、213的經(jīng)過(guò)濾波的數(shù)據(jù)塊上執(zhí)行調(diào)整大小任務(wù)230和第n個(gè)任務(wù)240二者。

如果操作需要圖像片段之外的數(shù)據(jù),或者處理操作需要片段大小的變化,則將源圖像明確劃分成片段并對(duì)這些片段執(zhí)行所需的的操作是特別困難的。此外,在上述實(shí)施例中,計(jì)算序列的并行化可能是有利的。例如,不需要調(diào)度一個(gè)圖像片段的處理、然后另一個(gè),以使得在用一個(gè)硬件資源使任何片段處理通過(guò)第一任務(wù)之前,用另一硬件資源使所有片段處理通過(guò)另一任務(wù)。在作為代替片段通過(guò)一個(gè)任務(wù)的處理僅以該片段已經(jīng)通過(guò)前一任務(wù)被首先處理為基礎(chǔ)的情況下,不管任何其他片段處理的狀態(tài)如何,都可能具有較大的處理效率。

在一些實(shí)施例中,處理元件的異構(gòu)陣列被采用來(lái)執(zhí)行節(jié)點(diǎn)的各種子任務(wù)。然而任務(wù)需要使源圖像通過(guò)節(jié)點(diǎn)操作(例如調(diào)整圖像的大小),所以第一子任務(wù)需要使源圖像的第一部分(即第一數(shù)據(jù)塊)通過(guò)節(jié)點(diǎn)操作,而第二子任務(wù)需要使源圖像的第二部分(例如第二數(shù)據(jù)塊)通過(guò)節(jié)點(diǎn)操作。

在圖2d中圖示的異構(gòu)實(shí)施例中,在具有第一指令集合架構(gòu)(isa)的一個(gè)設(shè)備或硬件資源(例如硬件加速器260)上執(zhí)行處理流水線(xiàn)的第一部分(例如濾波220),而在具有第二isa的另一設(shè)備或硬件資源(例如處理器內(nèi)核221)上執(zhí)行第二部分(例如調(diào)整大小230)。向多個(gè)內(nèi)核221、222和223分配與使一個(gè)區(qū)塊(例如211、212或213)傳遞通過(guò)調(diào)整大小節(jié)點(diǎn)相關(guān)聯(lián)的各種子任務(wù)是在如對(duì)于多內(nèi)核處理器的實(shí)現(xiàn)庫(kù)中所定義的調(diào)整大小操作跨越多個(gè)內(nèi)核221、222、223具有位等價(jià)的情況下可能容易實(shí)施圖形執(zhí)行器/執(zhí)行引擎的一種優(yōu)化。然而,可能不一定為圖形節(jié)點(diǎn)限制位等價(jià)的閾值。對(duì)于在子任務(wù)層級(jí)處具有設(shè)備異構(gòu)的情況,圖形開(kāi)發(fā)人員可能通過(guò)增強(qiáng)的并行提取來(lái)利用更大的效率。

圖3a圖示對(duì)異構(gòu)硬件資源的子任務(wù)分解,除了包括中央處理器的多個(gè)內(nèi)核221、222之外,該異構(gòu)硬件資源還包括硬件加速器260。在所描繪的示例中,每個(gè)處理器內(nèi)核221、222負(fù)責(zé)執(zhí)行包括使與一個(gè)源區(qū)塊211、212相關(guān)聯(lián)的數(shù)據(jù)塊通過(guò)第n個(gè)任務(wù)240的子任務(wù)。在使源區(qū)塊213通過(guò)等價(jià)第n個(gè)任務(wù)340的情況下,加速器360運(yùn)用等價(jià)子任務(wù)。在其中第n個(gè)任務(wù)240和等價(jià)第n個(gè)任務(wù)340不是同一名稱(chēng)的位等價(jià)操作的實(shí)施例中,通過(guò)本文中被稱(chēng)為“等價(jià)類(lèi)”的節(jié)點(diǎn)層級(jí)規(guī)范來(lái)促進(jìn)圖3a中圖示的對(duì)異構(gòu)硬件資源的子任務(wù)分解。等價(jià)類(lèi)對(duì)象或函數(shù)為給定節(jié)點(diǎn)指定來(lái)自可在異構(gòu)資源上對(duì)應(yīng)執(zhí)行的不同庫(kù)的等價(jià)庫(kù)函數(shù)和/或等價(jià)函數(shù)之間的關(guān)聯(lián)。在等價(jià)性的概念完全交給節(jié)點(diǎn)或圖形開(kāi)發(fā)人員的情況下,該等價(jià)類(lèi)向該開(kāi)發(fā)人員提供一種用來(lái)指定等價(jià)性的機(jī)制。照此,在圖形中的一個(gè)節(jié)點(diǎn)的上下文中函數(shù)可被視為等價(jià),但在另一個(gè)節(jié)點(diǎn)的上下文中不是。此外,針對(duì)給定節(jié)點(diǎn)被用戶(hù)定義為等價(jià)的函數(shù)甚至不需要采用遠(yuǎn)程類(lèi)似的算法或函數(shù)意圖。

在一些實(shí)施例中,基于圖形的圖像處理實(shí)現(xiàn)api提供一種用于限定等價(jià)類(lèi)節(jié)點(diǎn)的框架。實(shí)現(xiàn)api可為圖像圖形開(kāi)發(fā)人員提供用來(lái)將較低層級(jí)(圖像處理)庫(kù)函數(shù)與特定圖形節(jié)點(diǎn)相關(guān)聯(lián)的一組成員函數(shù)。例如,如圖3b中所圖示的,節(jié)點(diǎn)320與較低層級(jí)庫(kù)函數(shù)“filterblur()”相關(guān)聯(lián)。調(diào)用節(jié)點(diǎn)成員函數(shù)do()來(lái)將所指定的函數(shù)filterblur()應(yīng)用于節(jié)點(diǎn)的輸入數(shù)據(jù)(例如第一數(shù)據(jù)塊)并將結(jié)果存儲(chǔ)在節(jié)點(diǎn)的輸出中。在一些實(shí)施例中,節(jié)點(diǎn)層級(jí)成員函數(shù)包括指定不同名稱(chēng)的兩個(gè)或更多較低層級(jí)(圖像處理)庫(kù)函數(shù)之間的等價(jià)性和/或缺少位等價(jià)的映射函數(shù)。在缺乏這樣的等價(jià)類(lèi)指定的情況下,圖形執(zhí)行器用來(lái)通過(guò)調(diào)用具有在第一硬件資源或較低層級(jí)庫(kù)函數(shù)具有位等價(jià)性的一組硬件資源上執(zhí)行的任務(wù)的庫(kù)函數(shù)來(lái)處理通過(guò)所編譯的圖形節(jié)點(diǎn)的數(shù)據(jù)塊。如果在缺乏等價(jià)類(lèi)映射的情況下多于一個(gè)硬件資源要被采用來(lái)執(zhí)行filterblur,則將執(zhí)行器約束成在節(jié)點(diǎn)320的子任務(wù)之間保持位等價(jià)性。例如,如圖3b中所圖示的,圖形執(zhí)行器通過(guò)分別在處理器內(nèi)核221、222上執(zhí)行庫(kù)函數(shù)filterblur子任務(wù)220來(lái)處理通過(guò)節(jié)點(diǎn)320的區(qū)塊312、311。

相反,在節(jié)點(diǎn)包括等價(jià)類(lèi)指定的情況下,圖形執(zhí)行器用來(lái)通過(guò)調(diào)用任何等價(jià)函數(shù)(不管通過(guò)等價(jià)類(lèi)定義針對(duì)節(jié)點(diǎn)而映射的位等價(jià)如何)來(lái)處理通過(guò)圖形節(jié)點(diǎn)的數(shù)據(jù)塊。在一些實(shí)施例中,工作分配器執(zhí)行與不同異構(gòu)設(shè)備上并行的等價(jià)類(lèi)節(jié)點(diǎn)相關(guān)聯(lián)的操作的部分。例如,在圖3c中,節(jié)點(diǎn)330包括將庫(kù)函數(shù)filterblur與“acc-filterblur”庫(kù)函數(shù)相關(guān)聯(lián)的等價(jià)類(lèi)指定。圖形執(zhí)行器通過(guò)執(zhí)行filterblur子任務(wù)221和acc-filterblur子任務(wù)222來(lái)處理通過(guò)節(jié)點(diǎn)330的區(qū)塊312、311。

值得注意得,利用在節(jié)點(diǎn)層級(jí)處的等價(jià)類(lèi)指定,隨著圖形執(zhí)行器處理每個(gè)節(jié)點(diǎn)來(lái)動(dòng)態(tài)確定等價(jià)性。等價(jià)性可能會(huì)在圖形內(nèi)和/或在不同圖形之間變化。就兩個(gè)函數(shù)可被定義為對(duì)于一個(gè)節(jié)點(diǎn)而不是另一個(gè)節(jié)點(diǎn)是等價(jià)的意義來(lái)說(shuō),等價(jià)性能夠是與上下文有關(guān)的。換言之,給定庫(kù)函數(shù)可能在第一節(jié)點(diǎn)中缺少等價(jià)性,但在同一圖形內(nèi)的第二節(jié)點(diǎn)中具有等價(jià)性。例如,在來(lái)自圖3b和3c的節(jié)點(diǎn)320和330被組合以形成圖3d中所圖示的流水線(xiàn)的情況下,庫(kù)函數(shù)在流水線(xiàn)的第一部分(例如圖形節(jié)點(diǎn)320)中缺乏任何節(jié)點(diǎn)定義的等價(jià)性。然而,在流水線(xiàn)的第二部分(例如圖形節(jié)點(diǎn)330)中存在節(jié)點(diǎn)定義的等價(jià)性。利用節(jié)點(diǎn)層級(jí)指定,節(jié)點(diǎn)和/或圖形開(kāi)發(fā)人員可確定兩個(gè)或更多圖像處理操作是否將為特定處理應(yīng)用程序中的每個(gè)單個(gè)節(jié)點(diǎn)的目的提供足夠的等價(jià)結(jié)果。如果是的話(huà),則對(duì)于該節(jié)點(diǎn)的等價(jià)類(lèi)指定的內(nèi)容釋放圖形執(zhí)行器以更廣泛地實(shí)施異構(gòu)子任務(wù)并行性。

盡管可能意圖使該示例中的blurfilterblur函數(shù)產(chǎn)生非常類(lèi)似的結(jié)果,但是節(jié)點(diǎn)可能僅僅容易將具有不相似算法的兩個(gè)函數(shù)指定為“等價(jià)的”。作為一個(gè)示例,兩個(gè)不相似算法可能在精度、執(zhí)行時(shí)間或甚至基本意圖方面是不同的。例如,對(duì)于一個(gè)等價(jià)類(lèi)節(jié)點(diǎn),許多不同的濾波函數(shù)(例如adaptivefilter()函數(shù)、7x7filiter()函數(shù)和simplefilter()函數(shù))可能所有都被視為等價(jià)的。在另一示例中,邊緣檢測(cè)函數(shù)cannyedgedetection()被指定成與濾波函數(shù)simplefilter()是等價(jià)的。在一些實(shí)施例中,工作調(diào)度器用來(lái)在各等價(jià)函數(shù)之間選擇以實(shí)施優(yōu)化圖像處理流水線(xiàn)的策略,其使處理時(shí)間最小化以實(shí)現(xiàn)給定的服務(wù)質(zhì)量qos(例如以實(shí)現(xiàn)對(duì)于視頻的特定幀速率)。為了該目標(biāo),圖形開(kāi)發(fā)人員可能定義使adaptivefilter()函數(shù)等于經(jīng)過(guò)簡(jiǎn)化的降噪函數(shù)improvequalitylow()或者甚至旁路函數(shù)donothing()的等價(jià)類(lèi)。照此,等價(jià)類(lèi)指定提供用來(lái)通過(guò)基于圖形的實(shí)現(xiàn)api的方式實(shí)施有條件的并行性的編程方法。

在實(shí)施例中,等價(jià)類(lèi)節(jié)點(diǎn)指定包括等價(jià)映射。等價(jià)映射可采用任何形式,諸如但不限于:將第一函數(shù)與一個(gè)或多個(gè)第二“等價(jià)”函數(shù)相關(guān)聯(lián)的表格。圖4圖示包括函數(shù)標(biāo)識(shí)符(id)字段415以及一個(gè)或多個(gè)“等價(jià)”id字段420的等價(jià)映射410。等價(jià)id字段420中的每個(gè)條目都被映射到函數(shù)id415。例如,“isp-filterblur()”和“cpu-filterblur()”被指定為與filterblur()是等價(jià)的。被傳遞給每一個(gè)的參數(shù)是相同的。當(dāng)傳遞附加的參數(shù)“blur”時(shí),函數(shù)“cpu-filter3x3”也被映射為與函數(shù)filterblur()是等價(jià)的。其他數(shù)據(jù)結(jié)構(gòu)可被類(lèi)似地采用來(lái)定義等價(jià)類(lèi)節(jié)點(diǎn)。在一些實(shí)施例中,等價(jià)類(lèi)節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)基于分層的類(lèi)繼承。例如,等價(jià)類(lèi)節(jié)點(diǎn)可被定義為包括兩個(gè)或更多子節(jié)點(diǎn)的元節(jié)點(diǎn)。等價(jià)類(lèi)節(jié)點(diǎn)的多個(gè)子節(jié)點(diǎn)中的每一個(gè)可以與圖像處理函數(shù)(例如isp-filterblur)相關(guān)聯(lián),即與同等價(jià)類(lèi)節(jié)點(diǎn)的所有其他子節(jié)點(diǎn)相關(guān)聯(lián)的處理函數(shù)等價(jià)。

在一些實(shí)施例中,圖形執(zhí)行器根據(jù)在策略中表示的一個(gè)或多個(gè)優(yōu)化目標(biāo)來(lái)調(diào)度多個(gè)子任務(wù)。在圖4中所圖示的示例中,圖形執(zhí)行器303用來(lái)基于工作分配策略405來(lái)調(diào)度等價(jià)子任務(wù)。工作分配策略405可以以節(jié)點(diǎn)層級(jí)來(lái)定義,或者針對(duì)特定圖像圖形實(shí)現(xiàn)api來(lái)定義。工作分配策略405可以例如約束在各異構(gòu)設(shè)備之間的工作的分配以強(qiáng)調(diào)與以下各項(xiàng)中的任一個(gè)有關(guān)的目標(biāo):等待時(shí)間、執(zhí)行時(shí)間、資源利用、存儲(chǔ)器可用性、時(shí)間局部性和/或存儲(chǔ)器帶寬。在另外實(shí)施例中,與等價(jià)類(lèi)節(jié)點(diǎn)相關(guān)聯(lián)的映射對(duì)象可進(jìn)一步為每個(gè)等價(jià)函數(shù)指定優(yōu)先級(jí)。在一些實(shí)施例中,圖形執(zhí)行器用來(lái)至少部分基于函數(shù)優(yōu)先級(jí)來(lái)實(shí)施等價(jià)函數(shù)調(diào)用的基于策略的選擇/分配。例如,等價(jià)映射410可進(jìn)一步包括優(yōu)先級(jí)字段421,其表示isp-filterblur()和cpu-filterblur()超過(guò)cpu-filter3x3(blur)的基于優(yōu)先級(jí)的偏好。

在另外實(shí)施例中,圖形執(zhí)行器用來(lái)至少部分基于所估計(jì)的對(duì)于等價(jià)類(lèi)的每個(gè)成員(等價(jià))函數(shù)的執(zhí)行時(shí)間來(lái)實(shí)施等價(jià)函數(shù)調(diào)用的基于策略的選擇/分配。例如,在一些實(shí)施例中,偏好選擇優(yōu)于具有較長(zhǎng)執(zhí)行時(shí)間的等價(jià)函數(shù)的具有較短執(zhí)行時(shí)間的等價(jià)函數(shù)。在其他實(shí)施例中,偏好選擇優(yōu)于具有較長(zhǎng)或較短執(zhí)行時(shí)間的第三等價(jià)函數(shù)的具有與第二等價(jià)函數(shù)更近匹配的執(zhí)行時(shí)間的第一等價(jià)函數(shù)。在另外實(shí)施例中,圖形執(zhí)行器用來(lái)至少部分基于攤派給給定硬件資源槽或所有槽的最大時(shí)間來(lái)實(shí)施等價(jià)函數(shù)的基于策略的選擇/分配。例如,在一些實(shí)施例中,偏好選擇優(yōu)于具有超過(guò)攤派給硬件資源槽的最大時(shí)間的執(zhí)行時(shí)間的等價(jià)函數(shù)的具有較短執(zhí)行時(shí)間的第一等價(jià)函數(shù)。

圖5a圖示生產(chǎn)者節(jié)點(diǎn)創(chuàng)建方法501??衫缤ㄟ^(guò)基于圖形的圖像處理實(shí)現(xiàn)優(yōu)化api來(lái)執(zhí)行方法501。方法501以使用任何已知技術(shù)在操作505處接收?qǐng)D像圖形節(jié)點(diǎn)的規(guī)范來(lái)開(kāi)始。圖像處理函數(shù)與所指定的圖形節(jié)點(diǎn)相關(guān)聯(lián)。為了實(shí)現(xiàn)圖形執(zhí)行器的節(jié)點(diǎn)定義的等價(jià)邏輯,函數(shù)等價(jià)映射對(duì)象和/或函數(shù)進(jìn)一步與節(jié)點(diǎn)相關(guān)聯(lián),由此在操作510處定義等價(jià)類(lèi)節(jié)點(diǎn)。在一些實(shí)施例中,函數(shù)等價(jià)映射對(duì)象/函數(shù)用來(lái)提供可被調(diào)用來(lái)執(zhí)行與節(jié)點(diǎn)相關(guān)聯(lián)的任務(wù)的兩個(gè)或更多庫(kù)函數(shù)的指示。在一些實(shí)施例中,函數(shù)等價(jià)映射對(duì)象/函數(shù)用來(lái)針對(duì)所指定的庫(kù)函數(shù)標(biāo)識(shí)符來(lái)返回一個(gè)或多個(gè)等價(jià)庫(kù)函數(shù)標(biāo)識(shí)符。然后在操作520處使用任何已知的技術(shù)來(lái)將函數(shù)化的等價(jià)類(lèi)節(jié)點(diǎn)鏈接到圖像圖形。例如,等價(jià)類(lèi)節(jié)點(diǎn)可被鏈接到源、目的地、生產(chǎn)者或消費(fèi)者中的至少一個(gè)。

圖5b圖示可例如通過(guò)集中式的圖像圖形工作調(diào)度器(例如圖形執(zhí)行器或圖形執(zhí)行引擎)執(zhí)行的圖形執(zhí)行方法502。在操作530處,圖形執(zhí)行器例如通過(guò)在基于圖形的實(shí)現(xiàn)優(yōu)化api中定義的框架來(lái)接收等價(jià)類(lèi)節(jié)點(diǎn)的指示。在操作535處,對(duì)等價(jià)映射對(duì)象或函數(shù)進(jìn)行調(diào)用以確定關(guān)于等價(jià)節(jié)點(diǎn)具有等價(jià)性的兩個(gè)或更多函數(shù)。在一些實(shí)施例中,可基于策略(例如優(yōu)先級(jí)標(biāo)識(shí)符、執(zhí)行時(shí)間等等)來(lái)進(jìn)行兩個(gè)或更多等價(jià)函數(shù)之間的選擇。在接收和/或確定節(jié)點(diǎn)定義的等價(jià)信息時(shí),圖形執(zhí)行器調(diào)度一個(gè)或多個(gè)處理任務(wù),在那里通過(guò)對(duì)一個(gè)或多個(gè)硬件資源執(zhí)行等價(jià)函數(shù)來(lái)處理一個(gè)或多個(gè)數(shù)據(jù)塊(例如區(qū)塊)。在另外實(shí)施例中,在操作540處調(diào)度兩個(gè)或多個(gè)處理任務(wù)。與使第一數(shù)據(jù)塊通過(guò)第一硬件資源相關(guān)聯(lián)的第一任務(wù)被調(diào)度,并且與使第二數(shù)據(jù)塊通過(guò)第二硬件資源相關(guān)聯(lián)的第二任務(wù)也被調(diào)度。操作540可被迭代,例如其中每個(gè)迭代需要用于處理通過(guò)另一硬件資源的一個(gè)或多個(gè)附加數(shù)據(jù)塊的一個(gè)節(jié)點(diǎn)子任務(wù)的調(diào)度或執(zhí)行。在另外實(shí)施例中,操作540的迭代導(dǎo)致多個(gè)子任務(wù)被調(diào)度用于由異構(gòu)設(shè)備執(zhí)行等價(jià)類(lèi)映射對(duì)象/函數(shù)所標(biāo)識(shí)的函數(shù)的并行執(zhí)行。

圖6是圖示包括節(jié)點(diǎn)定義的等價(jià)類(lèi)圖形優(yōu)化的圖像處理流水線(xiàn)實(shí)現(xiàn)600的功能框圖。不是所有描繪的操作都需要通過(guò)單個(gè)實(shí)現(xiàn)來(lái)執(zhí)行或同時(shí)發(fā)生。例如,在圖像流水線(xiàn)運(yùn)行時(shí)間期間執(zhí)行的圖形編譯和/或執(zhí)行操作620、630之前,等價(jià)節(jié)點(diǎn)創(chuàng)建操作610、615可在圖像流水線(xiàn)開(kāi)發(fā)時(shí)間期間被執(zhí)行。在圖6中,垂直虛線(xiàn)劃分在這些線(xiàn)內(nèi)描繪的操作的執(zhí)行中謀取的(一個(gè)或多個(gè))函數(shù)元素。在操作610、615處,采用api510來(lái)添加并鏈接具有等價(jià)類(lèi)映射功能的圖形節(jié)點(diǎn)。在操作620處,圖形執(zhí)行器520發(fā)出對(duì)節(jié)點(diǎn)等價(jià)映射函數(shù)的調(diào)用并確定庫(kù)函數(shù)等價(jià)信息。在操作640處,工作調(diào)度器525基于節(jié)點(diǎn)定義的等價(jià)信息來(lái)調(diào)度任務(wù)/線(xiàn)程。在操作651處,第一資源(例如cpu內(nèi)核、gpueu、ipuvu等等)的任務(wù)/線(xiàn)程執(zhí)行單元604執(zhí)行被調(diào)度的第一子任務(wù)/線(xiàn)程,從電子存儲(chǔ)器和/或高速緩存器605讀取源區(qū)塊660,并且將目的地區(qū)塊670寫(xiě)入到存儲(chǔ)器和/或高速緩存器605。在操作652處第二異構(gòu)資源(例如cpu內(nèi)核、gpueu、ipuvu等等)的任務(wù)/線(xiàn)程執(zhí)行單元604執(zhí)行所調(diào)度的第二子任務(wù)/線(xiàn)程,從電子存儲(chǔ)器和/或高速緩存器605讀取源區(qū)塊680,并且將目的地區(qū)塊690寫(xiě)入到存儲(chǔ)器和/或高速緩存器605。

圖7是根據(jù)一些實(shí)施例的可被利用來(lái)執(zhí)行具有等價(jià)類(lèi)節(jié)點(diǎn)的圖形處理的數(shù)據(jù)處理系統(tǒng)700的功能框圖。數(shù)據(jù)處理系統(tǒng)700包括一個(gè)或多個(gè)處理器702以及一個(gè)或多個(gè)圖形處理器708,并且可以是單個(gè)處理器移動(dòng)設(shè)備或桌上型設(shè)備、多處理器工作站、或具有大量處理器702或處理器內(nèi)核707的服務(wù)器系統(tǒng)。在一個(gè)實(shí)施例中,數(shù)據(jù)處理系統(tǒng)700是在移動(dòng)、手持或嵌入式設(shè)備中使用的片上系統(tǒng)(soc)集成電路。

數(shù)據(jù)處理系統(tǒng)700的一個(gè)實(shí)施例可以包括基于服務(wù)器的游戲平臺(tái)、游戲控制臺(tái)(包括游戲和媒體控制臺(tái)、移動(dòng)游戲控制臺(tái)、手持游戲控制臺(tái)或在線(xiàn)游戲控制臺(tái))或者被合并在其中。在一些實(shí)施例中,數(shù)據(jù)處理系統(tǒng)700是移動(dòng)電話(huà)、智能電話(huà)、平板計(jì)算設(shè)備或移動(dòng)因特網(wǎng)設(shè)備。數(shù)據(jù)處理系統(tǒng)700還可以包括可佩戴設(shè)備(諸如智能手表可佩戴設(shè)備、智能護(hù)目鏡設(shè)備)、增強(qiáng)現(xiàn)實(shí)設(shè)備或虛擬現(xiàn)實(shí)設(shè)備、與該可佩戴設(shè)備、增強(qiáng)現(xiàn)實(shí)設(shè)備或虛擬現(xiàn)實(shí)設(shè)備耦合、或者被集成在該可佩戴設(shè)備、增強(qiáng)現(xiàn)實(shí)設(shè)備或虛擬現(xiàn)實(shí)設(shè)備內(nèi)。在一些實(shí)施例中,數(shù)據(jù)處理系統(tǒng)700是具有一個(gè)或多個(gè)處理器702和由一個(gè)或多個(gè)圖形處理器708生成的圖形界面的電視或機(jī)頂盒設(shè)備。

在一些實(shí)施例中,該一個(gè)或多個(gè)處理器702中的每一個(gè)都包括用來(lái)處理指令的一個(gè)或多個(gè)處理器內(nèi)核707,當(dāng)該指令被執(zhí)行時(shí)其執(zhí)行對(duì)于系統(tǒng)和用戶(hù)軟件的操作。在一些實(shí)施例中,該一個(gè)或多個(gè)處理器內(nèi)核707中的每一個(gè)被配置成處理特定指令集709。在一些實(shí)施例中,該指令集709可促進(jìn)復(fù)雜指令集計(jì)算(cisc)、精簡(jiǎn)指令集計(jì)算(risc)、或經(jīng)由超長(zhǎng)指令字(vliw)的計(jì)算。多個(gè)處理器內(nèi)核707中的每一個(gè)都處理不同的指令集709,其可包括用來(lái)促進(jìn)其他指令集的仿真的指令。處理器內(nèi)核707還可包括其他處理設(shè)備,比如數(shù)字信號(hào)處理器(dsp)。

在一些實(shí)施例中,處理器702包括高速緩存存儲(chǔ)器704。根據(jù)該架構(gòu),處理器702可以具有單個(gè)內(nèi)部高速緩存器或多個(gè)級(jí)別的內(nèi)部高速緩存器。在一些實(shí)施例中,在處理器702的各個(gè)部件之間共享高速緩存存儲(chǔ)器。在一些實(shí)施例中,處理器702還使用外部高速緩存器(例如層級(jí)3(l3)高速緩存器或最后一級(jí)高速緩存器(llc))(未示出),其可以是使用已知的高速緩存相干技術(shù)在處理器內(nèi)核707之間共享的。寄存器文件706被另外包括在處理器702中,該寄存器文件706可包括用于存儲(chǔ)不同類(lèi)型的數(shù)據(jù)的不同類(lèi)型的寄存器(例如整數(shù)寄存器、浮點(diǎn)寄存器、狀態(tài)寄存器和指令指針寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可特定用于處理器702的設(shè)計(jì)。

在一些實(shí)施例中,處理器702被耦合至處理器總線(xiàn)710以便在處理器702和系統(tǒng)700中的其他部件之間傳送數(shù)據(jù)信號(hào)。系統(tǒng)700具有“集線(xiàn)器”系統(tǒng)架構(gòu),其包括存儲(chǔ)器控制器集線(xiàn)器1616和輸入輸出(i/o)控制器集線(xiàn)器730。存儲(chǔ)器控制器集線(xiàn)器716促進(jìn)存儲(chǔ)器設(shè)備和系統(tǒng)700的其他部件之間的通信,而i/o控制器集線(xiàn)器(ich)730提供經(jīng)由本地i/o總線(xiàn)到i/o設(shè)備的連接。

存儲(chǔ)器設(shè)備720可以是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)設(shè)備、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)設(shè)備、閃速存儲(chǔ)器設(shè)備或具有充當(dāng)過(guò)程存儲(chǔ)器的適當(dāng)性能的一些其他存儲(chǔ)器設(shè)備。存儲(chǔ)器720可以存儲(chǔ)數(shù)據(jù)722和指令721以用于當(dāng)處理器702執(zhí)行一個(gè)過(guò)程時(shí)使用。存儲(chǔ)器控制器集線(xiàn)器716還與可選外部硬件加速器712耦合,該可選外部硬件加速器712可與處理器702中的一個(gè)或多個(gè)圖形處理器708通信以執(zhí)行圖形和媒體操作。

在一些實(shí)施例中,ich730使得外圍設(shè)備能夠經(jīng)由高速i/o總線(xiàn)連接至存儲(chǔ)器720和處理器702。該i/o外圍設(shè)備包括音頻控制器746、固件接口728、無(wú)線(xiàn)收發(fā)器726(例如wi-fi、藍(lán)牙)、數(shù)據(jù)存儲(chǔ)設(shè)備724(例如硬盤(pán)驅(qū)動(dòng)器、閃速存儲(chǔ)器等等)、和用于將傳統(tǒng)(例如個(gè)人系統(tǒng)2(ps/2))設(shè)備耦合至系統(tǒng)的傳統(tǒng)i/o控制器。一個(gè)或多個(gè)通用串行總線(xiàn)(usb)控制器742連接輸入設(shè)備,諸如鍵盤(pán)和鼠標(biāo)744組合。網(wǎng)絡(luò)控制器734還可耦合至ich730。在一些實(shí)施例中,高性能網(wǎng)絡(luò)控制器(未示出)耦合至處理器總線(xiàn)710。

圖8是根據(jù)一個(gè)或多個(gè)實(shí)施例的采用節(jié)點(diǎn)定義的等價(jià)邏輯的示例性超低電力系統(tǒng)800的圖。節(jié)點(diǎn)定義的等價(jià)邏輯可以是以用來(lái)實(shí)施包括一個(gè)或多個(gè)等價(jià)類(lèi)節(jié)點(diǎn)(例如如上所述)的基于圖形的圖像處理實(shí)現(xiàn)優(yōu)化api的模塊的形式。節(jié)點(diǎn)定義的等價(jià)邏輯可以是以用來(lái)執(zhí)行包括一個(gè)或多個(gè)等價(jià)類(lèi)節(jié)點(diǎn)(例如如上所述)的基于圖形的圖像處理優(yōu)化的模塊的形式。系統(tǒng)800可以是移動(dòng)設(shè)備,盡管系統(tǒng)800不限于該上下文。系統(tǒng)800可被合并到可佩戴計(jì)算設(shè)備、膝上型計(jì)算機(jī)、平板電腦、觸摸板、手持計(jì)算機(jī)、掌上型計(jì)算機(jī)、蜂窩電話(huà)、智能設(shè)備(例如智能電話(huà)、智能平板電腦或移動(dòng)電視)、移動(dòng)因特網(wǎng)設(shè)備(mid)、消息傳送設(shè)備、數(shù)據(jù)通信設(shè)備等等中。系統(tǒng)800還可以是基礎(chǔ)設(shè)施設(shè)備。例如,系統(tǒng)800可被合并到大格式電視、機(jī)頂盒、桌上型計(jì)算機(jī)、或其他家庭或商業(yè)網(wǎng)絡(luò)設(shè)備。

系統(tǒng)800包括設(shè)備平臺(tái)802,其可實(shí)施上文在圖3a-圖6的上下文中描述的各種圖像圖形等價(jià)類(lèi)節(jié)點(diǎn)和函數(shù)映射方法/對(duì)象的所有或子集。在實(shí)施例中,可遵循系統(tǒng)700的架構(gòu)(圖7)來(lái)進(jìn)一步實(shí)施平臺(tái)802的部件。在各種示例性實(shí)施例中,中央處理器815實(shí)施節(jié)點(diǎn)定義的等價(jià)類(lèi)邏輯750,其例如包括被配置用于確定和考慮節(jié)點(diǎn)函數(shù)等價(jià)的圖形執(zhí)行器和/或工作調(diào)度器,例如如本文中別的地方所述。中央處理器包括實(shí)施被配置成進(jìn)行等價(jià)調(diào)用節(jié)點(diǎn)函數(shù)調(diào)用以確定等價(jià)信息的圖像圖形執(zhí)行器的邏輯電路,例如如本文中別的地方所述。在一些實(shí)施例中,一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)可存儲(chǔ)指令,當(dāng)該指令被中央處理器815和/或圖形處理器810執(zhí)行時(shí)促使(一個(gè)或多個(gè))處理器執(zhí)行一個(gè)或多個(gè)等價(jià)類(lèi)映射操作。

在實(shí)施例中,設(shè)備平臺(tái)802被耦合至人性化接口設(shè)備(hid)820。平臺(tái)802可利用相機(jī)模塊(cm)811收集原始圖像數(shù)據(jù),其被處理并輸出至hid820。包括一個(gè)或多個(gè)導(dǎo)航特征的導(dǎo)航控制器850可被用來(lái)與例如設(shè)備平臺(tái)802和/或hid820交互。在實(shí)施例中,hid820可包括經(jīng)由無(wú)線(xiàn)電818和/或網(wǎng)絡(luò)860耦合至平臺(tái)802的任何監(jiān)視器或顯示器。hid820可包括例如計(jì)算機(jī)顯示屏、觸摸屏顯示器、視頻監(jiān)視器、電視類(lèi)設(shè)備、和/或電視。

在實(shí)施例中,設(shè)備平臺(tái)802可包括cm811、芯片集805、處理器810、815、存儲(chǔ)器/存儲(chǔ)裝置812、加速器硬件813、應(yīng)用程序816、和/或無(wú)線(xiàn)電818的任何組合。芯片集805可提供處理器810、815、存儲(chǔ)器812、加速器813、應(yīng)用程序816或無(wú)線(xiàn)電818之間的互相通信。

一個(gè)或多個(gè)處理器810、815可被實(shí)施為一個(gè)或多個(gè)復(fù)雜指令集計(jì)算機(jī)(cisc)或精簡(jiǎn)指令集計(jì)算機(jī)(risc)處理器;x86指令集可兼容處理器、多內(nèi)核、或任何其他微處理器或中央處理單元(cpu)。

存儲(chǔ)器812可被實(shí)施為易失性存儲(chǔ)器設(shè)備,諸如但不限于:隨機(jī)存取存儲(chǔ)器(ram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、或靜態(tài)ram(sram)。存儲(chǔ)器812還可被實(shí)施為非易失性存儲(chǔ)設(shè)備,諸如但不限于:閃速存儲(chǔ)器、電池備份sdram(同步dram)、磁性存儲(chǔ)器、相變存儲(chǔ)器等等。

無(wú)線(xiàn)電818可包括能夠使用各種適當(dāng)?shù)臒o(wú)線(xiàn)通信技術(shù)來(lái)發(fā)射和接收信號(hào)的一個(gè)或多個(gè)無(wú)線(xiàn)電。此類(lèi)技術(shù)可涉及跨越一個(gè)或多個(gè)無(wú)線(xiàn)網(wǎng)絡(luò)的通信。示例無(wú)線(xiàn)網(wǎng)絡(luò)包括(但不限于)無(wú)線(xiàn)局域網(wǎng)(wlan)、無(wú)線(xiàn)個(gè)域網(wǎng)(wpan)、無(wú)線(xiàn)城域網(wǎng)(wman)、蜂窩網(wǎng)絡(luò)和衛(wèi)星網(wǎng)絡(luò)。在跨越此類(lèi)網(wǎng)絡(luò)的通信中,無(wú)線(xiàn)電818可根據(jù)任何版本中的一個(gè)或多個(gè)可應(yīng)用標(biāo)準(zhǔn)來(lái)操作。

在實(shí)施例中,系統(tǒng)800可被實(shí)施為無(wú)線(xiàn)系統(tǒng)、有線(xiàn)系統(tǒng)或二者的組合。當(dāng)被實(shí)施為無(wú)線(xiàn)系統(tǒng)時(shí),系統(tǒng)800可包括適用于通過(guò)無(wú)線(xiàn)共享介質(zhì)進(jìn)行通信的部件和接口,諸如一個(gè)或多個(gè)天線(xiàn)、發(fā)射器、接收器、收發(fā)器、放大器、濾波器、控制邏輯等等。無(wú)線(xiàn)共享介質(zhì)的一個(gè)示例可包括無(wú)線(xiàn)頻譜的部分,諸如rf頻譜等等。當(dāng)被實(shí)施為有線(xiàn)系統(tǒng)時(shí),系統(tǒng)800可包括適用于通過(guò)有線(xiàn)通信介質(zhì)進(jìn)行通信的部件和接口,諸如輸入/輸出(i/o)適配器、將i/o適配器與對(duì)應(yīng)有線(xiàn)通信介質(zhì)連接的物理連接器、網(wǎng)絡(luò)接口卡(nic)、盤(pán)控制器、視頻控制器、音頻控制器等等。有線(xiàn)通信介質(zhì)的示例可包括導(dǎo)線(xiàn)、電纜、金屬引線(xiàn)、印刷電路板(pcb)、背板、交換結(jié)構(gòu)、半導(dǎo)體材料、雙絞線(xiàn)導(dǎo)線(xiàn)、同軸電纜、光纖等等。

利用本文所述的示例性實(shí)施例表現(xiàn)的等價(jià)類(lèi)節(jié)點(diǎn)對(duì)象、對(duì)象定義、函數(shù)和函數(shù)調(diào)用可在各種硬件架構(gòu)、小區(qū)設(shè)計(jì)或“ip內(nèi)核”中實(shí)施。

如上所述,可以以變化的物理樣式或形式因子來(lái)具體化系統(tǒng)800。圖9進(jìn)一步圖示移動(dòng)手機(jī)設(shè)備900的實(shí)施例,在其中可具體化平臺(tái)802、系統(tǒng)700和/或?qū)崿F(xiàn)600。在實(shí)施例中,例如,設(shè)備900可以是具有無(wú)線(xiàn)和圖像處理能力的移動(dòng)計(jì)算手機(jī)設(shè)備。如圖9中所示,移動(dòng)手機(jī)設(shè)備900可包括具有正面901和背面902的外殼。設(shè)備900包括顯示器904、輸入/輸出(i/o)設(shè)備906、和集成天線(xiàn)908。設(shè)備900還可包括導(dǎo)航特征912。顯示器904可包括用于顯示適用于移動(dòng)計(jì)算設(shè)備的信息的任何適當(dāng)顯示單元。i/o設(shè)備906可包括用于將信息輸入到移動(dòng)計(jì)算設(shè)備中的任何適當(dāng)i/o設(shè)備。對(duì)于i/o設(shè)備906的示例可包括字母數(shù)字鍵盤(pán)、數(shù)字鍵盤(pán)、觸摸板、輸入按鍵、按鈕、開(kāi)關(guān)、麥克風(fēng)、揚(yáng)聲器、語(yǔ)音識(shí)別設(shè)備和軟件、等等。信息還可以通過(guò)麥克風(fēng)(未示出)的方式被輸入到設(shè)備900中,或者可通過(guò)語(yǔ)音識(shí)別設(shè)備被數(shù)字化。實(shí)施例不限于在該上下文中。被集成在至少背面902的是相機(jī)905(例如包括鏡頭、孔徑和成像傳感器),其可以是圖像數(shù)據(jù)通過(guò)其被曝光且輸出至經(jīng)過(guò)圖形優(yōu)化的成像流水線(xiàn)的一個(gè)或多個(gè)cm的部件,例如如本文中別的地方所述的。

如上文所例示的,可使用硬件元件、軟件元件或二者的組合來(lái)實(shí)施本文中所述的實(shí)施例。硬件元件或模塊的示例包括:處理器、微處理器、電路、電路元件(例如晶體管、電阻器、電容器、電感器等等)、集成電路、專(zhuān)用集成電路(asic)、可編程邏輯設(shè)備(pld)、數(shù)字信號(hào)處理器(dsp)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、邏輯門(mén)、寄存器、半導(dǎo)體器件、芯片、微芯片、芯片集等等。軟件元件或模塊的示例包括:應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、系統(tǒng)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、例程、子例程、函數(shù)、方法、規(guī)程、軟件界面、應(yīng)用編程接口(api)、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、數(shù)據(jù)字、值、符號(hào)或其任何組合??筛鶕?jù)針對(duì)設(shè)計(jì)的選取而考慮的任何數(shù)目的因素來(lái)改變確定是否是使用硬件元件和/或軟件元件實(shí)施實(shí)施例,該因素諸如但不限于:期望的計(jì)算率、電力級(jí)別、耐熱性、處理周期預(yù)算、輸入數(shù)據(jù)率、輸出數(shù)據(jù)率、存儲(chǔ)器資源、數(shù)據(jù)總線(xiàn)速度以及其他設(shè)計(jì)或性能約束。

可通過(guò)存儲(chǔ)在機(jī)器可讀存儲(chǔ)介質(zhì)上的代表性指令來(lái)實(shí)施至少一個(gè)實(shí)施例的一個(gè)或多個(gè)方面。這樣的指令可在其被機(jī)器執(zhí)行期間完全或至少部分駐留在主存儲(chǔ)器內(nèi)和/或在處理器內(nèi),存儲(chǔ)指令的主存儲(chǔ)器和處理器部分然后也構(gòu)成機(jī)器可讀存儲(chǔ)介質(zhì)??删幊踢壿嬰娐房删哂型ㄟ^(guò)實(shí)施計(jì)算機(jī)可讀介質(zhì)的處理器來(lái)配置的寄存器、狀態(tài)機(jī)等等。此類(lèi)邏輯電路當(dāng)被編程時(shí)然后可被理解為物理變換成落入本文中描述的實(shí)施例的范圍內(nèi)的系統(tǒng)。當(dāng)表示處理器內(nèi)的各種邏輯的指令被機(jī)器讀取時(shí),其也可促使該機(jī)器制造粘附到本文中所述的架構(gòu)的邏輯和/或執(zhí)行本文中所述的技術(shù)。被稱(chēng)為小區(qū)設(shè)計(jì)或ip內(nèi)核的此類(lèi)表示可被存儲(chǔ)在有形、機(jī)器可讀介質(zhì)上并被供應(yīng)給各種消費(fèi)者或制造設(shè)施以便加載到實(shí)際作出邏輯的制造機(jī)或處理器中。盡管在本文中已經(jīng)參考實(shí)施例描述了某些特征,但是不意圖以限制的意義來(lái)解釋該描述。因此,本文中所述的實(shí)現(xiàn)的各種修改以及對(duì)本公開(kāi)所屬的領(lǐng)域的技術(shù)人員來(lái)說(shuō)顯而易見(jiàn)的其他實(shí)現(xiàn)被視為在本公開(kāi)的精神和范圍內(nèi)。

下面的段落簡(jiǎn)略地描述一些示例性實(shí)施例。

在一個(gè)或多個(gè)第一實(shí)施例中,一種設(shè)備包括圖像圖形執(zhí)行器,其用來(lái)接收指定圖像處理操作的流水線(xiàn)的圖像圖形,為該圖形中的等價(jià)類(lèi)節(jié)點(diǎn)確定被映射到與該節(jié)點(diǎn)相關(guān)聯(lián)的函數(shù)的等價(jià)函數(shù),以及通過(guò)調(diào)用等價(jià)函數(shù)來(lái)調(diào)度在其中使第一源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的圖像處理子任務(wù)。

為了促進(jìn)第一實(shí)施例中的至少一些,該圖像圖形執(zhí)行器用來(lái)通過(guò)調(diào)用用于在第一硬件資源上執(zhí)行的函數(shù)來(lái)調(diào)度在其中使第一源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的第一圖像處理子任務(wù),并且用來(lái)通過(guò)調(diào)用用于在第二硬件資源上執(zhí)行的等價(jià)函數(shù)來(lái)調(diào)度在其中使第二源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的第二圖像處理子任務(wù)。

為了促進(jìn)緊接上面的實(shí)施例,該第一和第二硬件資源包括具有不同指令集架構(gòu)的異構(gòu)設(shè)備。

為了促進(jìn)上面的第一實(shí)施例中的至少一些,該圖像圖形執(zhí)行器用來(lái)與由第一硬件資源對(duì)第一圖像處理子任務(wù)的執(zhí)行并行地調(diào)度用于由第二硬件資源執(zhí)行的第二圖像處理子任務(wù)。

為了促進(jìn)第一實(shí)施例中的至少一些,該等價(jià)類(lèi)節(jié)點(diǎn)指定與等價(jià)函數(shù)相關(guān)聯(lián)的優(yōu)先級(jí),并且圖像圖形執(zhí)行器用來(lái)至少部分基于該優(yōu)先級(jí)來(lái)調(diào)度第二圖像處理子任務(wù)。

為了促進(jìn)第一實(shí)施例中的至少一些,該等價(jià)函數(shù)是為等價(jià)類(lèi)節(jié)點(diǎn)定義的多個(gè)等價(jià)函數(shù)中的一個(gè),并且圖像圖形執(zhí)行器用來(lái)至少部分基于以下各項(xiàng)中的一個(gè)或多個(gè)來(lái)在多個(gè)等價(jià)函數(shù)調(diào)用之間作出基于優(yōu)先級(jí)的選擇:與等價(jià)函數(shù)中的每一個(gè)相關(guān)聯(lián)的優(yōu)先級(jí);所估計(jì)的對(duì)于各等價(jià)函數(shù)中的每一個(gè)的執(zhí)行時(shí)間;以及攤派給給定硬件資源槽或所有槽的最大時(shí)間。

為了促進(jìn)第一實(shí)施例中的至少一些,圖形中的第一等價(jià)類(lèi)節(jié)點(diǎn)將函數(shù)映射到第一等價(jià)函數(shù),并且圖形中的第二等價(jià)類(lèi)節(jié)點(diǎn)將函數(shù)映射到不同于第一等價(jià)函數(shù)的第二等價(jià)函數(shù)。

為了促進(jìn)第一實(shí)施例中的至少一些,該設(shè)備進(jìn)一步包括基于圖形的實(shí)現(xiàn)應(yīng)用編程接口(api),其被配置成將圖像處理圖形的節(jié)點(diǎn)與一個(gè)或多個(gè)函數(shù)等價(jià)映射相關(guān)聯(lián)。

為了促進(jìn)緊接上面的實(shí)施例中的至少一些,函數(shù)等價(jià)映射用來(lái)使在以下各項(xiàng)中的至少一個(gè)不同的兩個(gè)或更多函數(shù)相關(guān)聯(lián):精度、執(zhí)行時(shí)間或硬件資源。

為了促進(jìn)上面的實(shí)施例中的至少一些,該api包括將函數(shù)標(biāo)識(shí)符與等價(jià)函數(shù)標(biāo)識(shí)符相關(guān)聯(lián)的等價(jià)映射對(duì)象或函數(shù)。

在一個(gè)或多個(gè)第二實(shí)施例中,一種計(jì)算機(jī)實(shí)施的圖像處理方法包括接收指定圖像處理操作的流水線(xiàn)的圖像圖形。該方法進(jìn)一步包括為圖形中的節(jié)點(diǎn)確定被映射到與該節(jié)點(diǎn)相關(guān)聯(lián)的函數(shù)的等價(jià)函數(shù)。該方法進(jìn)一步包括通過(guò)調(diào)用該等價(jià)函數(shù)來(lái)調(diào)度在其中使第一源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的圖像處理子任務(wù)。

為了促進(jìn)第二實(shí)施例中的至少一些,該方法進(jìn)一步包括:通過(guò)調(diào)用用于在第一硬件資源上執(zhí)行的函數(shù)來(lái)調(diào)度在其中使第一源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的第一圖像處理子任務(wù),以及通過(guò)調(diào)用用于在第二硬件資源上執(zhí)行的等價(jià)函數(shù)來(lái)調(diào)度在其中使第二源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的第二圖像處理子任務(wù)。

為了促進(jìn)緊接上面的實(shí)施例中的至少一些,該第一和第二硬件資源包括具有不同指令集架構(gòu)的異構(gòu)設(shè)備,并且該方法進(jìn)一步包括并行執(zhí)行第一和第二圖像處理任務(wù)。

為了促進(jìn)第二實(shí)施例中的至少一些,該等價(jià)類(lèi)節(jié)點(diǎn)指定與等價(jià)函數(shù)相關(guān)聯(lián)的優(yōu)先級(jí),并且該方法進(jìn)一步包括至少部分基于該優(yōu)先級(jí)來(lái)調(diào)度第二圖像處理子任務(wù)。

為了促進(jìn)第二實(shí)施例中的至少一些,該等價(jià)函數(shù)是為等價(jià)類(lèi)節(jié)點(diǎn)定義的多個(gè)等價(jià)函數(shù)中的一個(gè),并且該方法進(jìn)一步包括至少部分基于以下各項(xiàng)中的一個(gè)或多個(gè)來(lái)在多個(gè)等價(jià)函數(shù)調(diào)用之間作出選擇:與等價(jià)函數(shù)中的每一個(gè)相關(guān)聯(lián)的優(yōu)先級(jí);所估計(jì)的對(duì)于各等價(jià)函數(shù)中的每一個(gè)的執(zhí)行時(shí)間;以及攤派給給定硬件資源槽或所有槽的最大時(shí)間。

為了促進(jìn)第二實(shí)施例中的至少一些,該方法進(jìn)一步包括基于圖形的第一等價(jià)類(lèi)節(jié)點(diǎn)中的函數(shù)的第一映射來(lái)調(diào)用第一等價(jià)函數(shù);以及基于圖形的第二等價(jià)類(lèi)節(jié)點(diǎn)中的函數(shù)的第二映射來(lái)調(diào)用第二等價(jià)函數(shù)。

為了促進(jìn)第二實(shí)施例中的至少一些,該方法進(jìn)一步包括將圖像處理圖形的節(jié)點(diǎn)與一個(gè)或多個(gè)函數(shù)等價(jià)映射相關(guān)聯(lián),其中該映射使在以下各項(xiàng)中的至少一個(gè)不同的兩個(gè)或更多函數(shù)相關(guān)聯(lián):精度、執(zhí)行時(shí)間或硬件資源。

在一個(gè)或多個(gè)第三實(shí)施例中,一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括存儲(chǔ)在其上的指令,當(dāng)被處理器執(zhí)行時(shí)該指令促使該處理器實(shí)行第二實(shí)施例中的任一個(gè)。

為了促進(jìn)第三實(shí)施例中的至少一些,該介質(zhì)包括存儲(chǔ)在其上的指令,當(dāng)被處理器執(zhí)行時(shí)該指令促使該處理器執(zhí)行一種方法,該方法進(jìn)一步包括:為指定圖像處理操作的流水線(xiàn)的圖像圖形中的節(jié)點(diǎn)確定被映射到與該節(jié)點(diǎn)相關(guān)聯(lián)的函數(shù)的等價(jià)函數(shù),以及通過(guò)調(diào)用該等價(jià)函數(shù)來(lái)調(diào)度在其中使第一源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的圖像處理子任務(wù)。

為了促進(jìn)緊接上面的實(shí)施例中的至少一些,該介質(zhì)包括存儲(chǔ)在其上的指令,當(dāng)被處理器執(zhí)行時(shí)該指令促使該處理器執(zhí)行一種方法,該方法進(jìn)一步包括:通過(guò)調(diào)用用于在第一硬件資源上執(zhí)行的函數(shù)來(lái)調(diào)度在其中使第一源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的第一圖像處理子任務(wù),以及通過(guò)調(diào)用用于在第二硬件資源上執(zhí)行的等價(jià)函數(shù)來(lái)調(diào)度在其中使第二源數(shù)據(jù)塊通過(guò)等價(jià)類(lèi)節(jié)點(diǎn)的第二圖像處理子任務(wù)。

在一個(gè)或多個(gè)第四實(shí)施例中,一種設(shè)備包括用來(lái)執(zhí)行第二實(shí)施例中的任一個(gè)的裝置。

將會(huì)認(rèn)識(shí)到,該實(shí)施例不限于這樣描述的示例性實(shí)施例,但是在不偏離所附權(quán)利要求的范圍的情況下可以利用修改和變化來(lái)實(shí)行。例如,上述實(shí)施例可包括特征的具體組合。然而,在這方面不會(huì)對(duì)上述實(shí)施例進(jìn)行限制,并且在實(shí)施例中,上述實(shí)施例可包括開(kāi)始進(jìn)行此類(lèi)特征的僅僅子集、開(kāi)始進(jìn)行此類(lèi)特征的不同順序、開(kāi)始進(jìn)行此類(lèi)特征的不同組合、和/或進(jìn)行除了明確列出的那些特征之外的附加特征。因此,應(yīng)該參考所附權(quán)利要求連同此類(lèi)權(quán)利要求給予權(quán)利的等同物的全部范圍來(lái)確定范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1