[發明專利]用于處理數據的方法和設備有效
| 申請號: | 201780028332.2 | 申請日: | 2017-04-10 |
| 公開(公告)號: | CN109154886B | 公開(公告)日: | 2019-08-27 |
| 發明(設計)人: | 陳林;R·哈默斯托內;劉佳吉;張弛紅;A·E·格魯貝爾;杜云 | 申請(專利權)人: | 高通股份有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06T15/00 |
| 代理公司: | 北京律盟知識產權代理有限責任公司 11287 | 代理人: | 楊林勳 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 前同步碼 代碼塊 常數存儲器 著色器程序 識別符 存儲 圖形處理單元 通用寄存器 著色器代碼 地址空間 圖形處理 配給 分配 創建 | ||
一種用于處理圖形處理單元GPU中的數據的方法包含接收實例的實例識別符和著色器程序,所述著色器程序包括前同步碼代碼塊和主要著色器代碼塊;在波創建處將所述實例識別符指配給通用寄存器;為實例統一體分配常數存儲器內的地址空間;以及確定所述前同步碼代碼塊尚未執行且波是將執行的所述實例的第一波;基于確定所述前同步碼代碼塊尚未執行且所述波是將執行的所述第一波,執行所述前同步碼代碼塊以將所述多個實例統一體存儲在所述常數存儲器中;以及至少部分地基于執行所述前同步碼代碼塊,使用存儲在常數存儲器中的所述多個實例常數中的至少一個執行所述多個波中的所述波。
技術領域
本發明涉及數據處理,且更明確地說,涉及用于圖形處理的每實例前同步碼的產生和執行。
背景技術
單指令多數據(SIMD)處理系統為包含對多個數據段執行相同指令的多個處理元件的一種類型的并行計算系統。SIMD系統可為獨立計算機或計算系統的子系統。舉例來說,一或多個SIMD執行單元可用于圖形處理單元(GPU)中以實施支持可編程著色的可編程著色單元。SIMD處理系統允許程序的多個執行線程以并行方式對多個處理元件進行同步執行,由此增加需要對多個數據段執行相同集合的操作的程序的處理量。在特定SIMD處理元件上執行的特定指令被稱作線程或纖程。線程組可被稱作波(wave)或線程束(warp)。
處理單元例如GPU包含處理元件和存儲數據以供指令執行的通用寄存器(GPR)和統一(uniform)GPR(uGPR)。在一些實例中,處理元件執行用于處理一個數據項的指令,并且相應的處理元件在GPR中存儲所述數據項或者來自處理的所述項的所得數據。數據項可以是發生處理的基本單位。舉例來說,在圖形處理中,圖元的頂點是項的一個實例,并且像素是項的另一實例。存在與每一頂點和像素相關聯的圖形數據(例如,坐標、色彩值等)。
處理元件的處理器核心內可存在多個處理元件,從而允許指令的并行執行(例如,多個處理元件在同一時間執行相同指令)。著色器是可使用并行處理環境(例如,著色器處理器)并且已用以在圖形處理管線的各個階段對二維和三維模型執行圖形渲染技術的計算機程序。著色器的實例包含:像素(或片段)著色器,其用以計算像素(或片段)的色彩和其它屬性;頂點著色器,其用以控制位置、移動、照明和色彩,或頂點;幾何著色器,其用以產生圖形圖元;曲面細分(tessellation)相關著色器(例如,當將頂點數據的補片(patch)細分成較小圖元時使用的外殼著色器和/或域著色器,以及用于計算其它信息例如非圖形數據的計算著色器)。
發明內容
一般來說,本發明描述使用每實例前同步碼增加存儲器效率的技術。特定來說,本發明描述借此著色器系統可為實例分配常數RAM的區段的技術。在波創建時間,可在標量GPR中分配實例偏移。著色器系統接著經由例如環繞式環形緩沖器為實例專用信息(例如,位置信息、紋理信息)分配常數RAM的區段。所有實例共同的信息可存儲在常數RAM的獨立區域中。這可允許圖形處理單元(GPU)多次重復使用從存儲器加載的數據(例如,共同信息),并且僅加載每實例著色器信息。這可減小增加片上RAM的量的需要,減小存儲器流量,增加性能,并且由于可存在總線上的流量減小而減少電力消耗。
在本發明的一個實例中,一種操作圖形處理單元(GPU)的方法,所述方法包括:通過所述GPU從著色器編譯器接收實例的實例識別符和著色器程序,所述著色器程序包括前同步碼代碼塊和主要著色器代碼塊,所述前同步碼代碼塊可執行以將多個實例統一體存儲在常數存儲器中;通過所述GPU在多個波中的波的創建處將所述實例識別符指配給通用寄存器;通過所述GPU為所述多個實例統一體分配所述常數存儲器內的地址空間;通過所述GPU確定所述前同步碼代碼塊尚未執行且所述波是將執行的所述實例的第一波;至少部分地基于確定所述前同步碼代碼塊尚未執行且所述波是將執行的所述第一波,通過所述GPU執行所述前同步碼代碼塊以將所述多個實例統一體存儲在所述常數存儲器中;和至少部分地基于執行所述前同步碼代碼塊,通過所述GPU使用存儲在所述常數存儲器中的所述多個實例常數中的至少一個執行所述多個波中的所述波的所述主要著色器代碼塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于高通股份有限公司,未經高通股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201780028332.2/2.html,轉載請聲明來源鉆瓜專利網。





