TWI633447B - 最大化圖形處理器中之平行處理之技術 - Google Patents
最大化圖形處理器中之平行處理之技術 Download PDFInfo
- Publication number
- TWI633447B TWI633447B TW101120103A TW101120103A TWI633447B TW I633447 B TWI633447 B TW I633447B TW 101120103 A TW101120103 A TW 101120103A TW 101120103 A TW101120103 A TW 101120103A TW I633447 B TWI633447 B TW I633447B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- graphics processor
- graphics
- processing units
- commands
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
方法及系統可包括具有一圖形處理器的一計算系統,該圖形處理器具有處理二維(2D)命令的一三維(3D)管線、一或多個處理單元,及計算核心邏輯。一圖形處理單元(GPU)排程器可直接分派該2D命令給該一或多個處理單元。在一範例中,該2D命令包括一渲染目標清除命令、一深度模板清除命令、一資源解析命令及一資源複製命令中的至少一者。
Description
本發明係有關於最大化圖形處理器中之平行處理之技術。
視覺密集型電腦圖形應用,諸如,3D(三維)電腦遊戲、飛行模擬器及其他3D成像應用可包括使用者互動、場景管理及渲染、物理建模、人工智慧及其他相對較複雜的功能。雖然某些遊戲應用可藉由卸載對GPU的圖形及非圖形運算以維持互動幀速率來提高一本地GPU(圖形處理單元)的性能,但仍有相當大的改良空間。例如,習知的方法可使用GPU之3D管線以供2D(二維)操作,諸如,清除渲染目標的顏色。每次此一清除顏色操作在3D管線中進行時,一旦清除顏色操作處理完成,3D狀態可能需要被保存並恢復。因此,在對命令進行3D處理期間,特別是在頻繁發生渲染目標清除操作的非最佳化應用環境中可能發生系統故障。目前,計算核心可僅在支援應用程式設計介面(API),諸如DX11(微軟公司的DirectX 11)及OpenCL(科納斯組織)的特定GPU上程式化,而不論是何應用API調用,只要GPU支援計算核心,裝置驅動程式都可使用計算核心。
依據本發明之一實施例,係特地提出一種電腦實施方法,其包含以下步驟:接收一二維(2D)命令;使用計算核
心邏輯直接分派該2D命令給一圖形處理器的一或多個處理單元,其中該2D命令的分派將該2D命令分配給該圖形處理器之一或多個處理單元並略過該圖形處理器的一三維(3D)管線;使用該3D管線來與由該圖形處理器之一或多個處理單元執行2D命令平行地執行一或多個3D命令;在該圖形處理器中處理與執行該2D命令相關聯的資料;及基於與該2D命令相關聯之資料而產生一輸出。
藉由閱讀以下說明書及所附申請專利範圍並參照以下圖式,本發明之實施例的各種不同的優勢將對熟於此技者是顯而易見的,其中:第1圖是依據一實施例的一圖形處理器之一範例的方塊圖;第2A圖是依據一實施例的一資源複製操作之處理的一範例的方塊圖;第2B圖是依據一實施例的一渲染目標清除操作之處理的一範例的方塊圖;第3圖是依據一實施例的一種處理圖形命令方法之一範例的流程圖;第4圖是依據一實施例的一計算系統之一範例的方塊圖。
現在參照第1圖,繪示一圖形處理器10,其具有一3D(三
維)管線12、一計算核心(例如,渲染程式)18、一取樣器22,及一或多個處理單元14。可用來處理複雜的圖形命令,諸如包括一或多個圖形運算的3D命令16的3D管線12可包括用以執行各種不同功能,諸如輸入組譯、頂點渲染、幾何渲染、柵格化,及像素渲染功能的邏輯(例如,固定功能硬體、可程式硬體、韌體、微碼等)。另一方面,計算核心18可以是與處理單元14協作以提供高速通用計算的一可程式單元,其中處理單元14可包括能夠平行運作的大量處理核心。在一範例中,計算核心18是一Direct3D(例如,微軟DirectX應用程式設計介面/API)構造。計算核心18也可延伸到目標為圖形處理器硬體並將計算操作與圖形操作混合的其他相似語言(例如,OpenGL、OpenCL、Cuda)的計算核心。
在所示範例中,在接收一2D(二維)命令20時,圖形處理器10使用計算核心18來將2D命令20直接分派給處理單元14。因此,2D命令之分派可略過3D管線12且使3D命令16及2D命令20能夠由圖形處理器10來平行異步處理。此方法可使矽面積利用率最大化且可增強總圖形效能。
2D命令20可包括一清除顏色命令、將一多取樣資源解析成一單取樣資源的資源解析命令、資源複製命令等。例如,清除顏色命令可能包括清除一渲染目標及/或深度模板緩衝區的顏色。詳言之,一渲染目標清除命令可改變/清除繪製正在渲染的一場景的像素的一幀緩衝區的顏色。一般而言,深度模板緩衝區可用以追蹤像素的深度並自場景中遮罩物件。例如,一深度模板緩衝區可用以利用離觀察器
較近的像素來重寫離觀察器相對較遠的3D場景像素。除此之外,一深度模板緩衝區可用以選擇一場景之特定區域來改變顏色。因此,深度模板清除命令可用以提供顏色支援給更加複雜的渲染活動,諸如陰影渲染或輪廓渲染。
資源解析命令可使場景邊緣相對於多取樣抗混疊資源(例如,8x多取樣資源)平化,其中多個樣本產生在三角形邊的每一像素上。
資源複製命令可支援,例如,將資料從一緩衝區傳輸到另一緩衝區。特別是,所示方法排除了在實施資源複製操作時與取樣器22結合使用像素渲染程式及/或3D管線12之其他功能的需求。
第2A圖繪示一範例,其中一資源複製命令用以將資料從第一記憶體陣列(例如,緩衝區)24傳輸(例如,2D影像-在所示範例中為三角形)至第二記憶體陣列(例如,緩衝區)26。記憶體陣列24、26可以是幀緩衝區、快取記憶體或能夠儲存2D柵格式像素資料的其他適合的記憶體空間。在所示範例中,如同已經討論過的,計算核心18直接分派資源複製命令給處理單元14,而不使用取樣器22(第1圖)或3D管線12(第1圖)。因此,與資源複製命令相關聯之處理設定,及/或狀態管理開銷可大幅減少。
第2B圖繪示一範例,其中一清除顏色命令用以將一2D渲染目標30的顏色改變成黑色。在所示範例中,一驅動程式28設定一計算核心18,並將渲染目標30以一無序存取視圖(UAV)結合至計算核心18,其中計算核心18執行一分派命
令以將清除顏色命令平行分配給一組處理單元。該組處理單元可包括某些或所有可利用的處理單元。特別是,工作可以被分成具有最佳維度MxN之線程組的多個較小線程組32-並被指定給可利用的處理單元來平行處理。詳言之,一計算核心可同時在多個線程組上工作,其中每一線程組是以3維次序定義的線程的集合。例如,4x3x2維可指具有一3維指標(x,y,z)的一線程組中的24個線程,其中x在0到3之間變化,y在0到2之間變化,且z在0到1之間變化。因此,由於3D管線與計算核心18是互斥的,所示方法消除了保存或恢復3D管線狀態的需求。
現在參照第3圖,繪示一種處理圖形命令的方法34。方法34可被實施為一可執行邏輯指令集合,以一利用電路技術,諸如特定應用積體電路(ASIC)、互補金屬氧化物半導體(CMOS)或電晶體-電晶體邏輯(TTL)技術,或其任一組合的固定功能硬體儲存在一機器或電腦可讀儲存媒體,諸如隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可程式ROM(PROM)、快閃記憶體、韌體等中。例如,用以實施方法34中所示之操作的電腦程式碼可用一或多種程式語言的任一組合來寫,包括物件導向程式語言,諸如C++等及習知的程式性程式語言,諸如,「C」程式語言或類似的程式語言。此外,方法34的各種不同的層面可被實施為使用任一上述電路技術的一圖形處理器之嵌入式邏輯。
處理方塊36是供用於接收一圖形命令,且方塊38確定圖形命令是否是一2D命令。如所討論者,一2D命令可包括
一清除命令、資源解析命令、資源複製命令等。若所接收的命令是一2D命令,則所示方塊40使用計算核心邏輯從複數處理單元中選擇一圖形處理器之一或多個處理單元。如所提及的,選擇的處理單元可包括圖形處理器之某些或所有處理單元。選擇程式可包括識別哪些處理單元是可利用的,以及確定2D命令需要多大的處理容量。除此之外,方塊42可使用一計算核心來將2D命令分派給圖形處理器中選擇的處理單元,其中分派將2D命令分配給圖形處理器中選擇的處理單元。若圖形命令不是2D命令,則圖形處理器之3D管線可用以在方塊44執行圖形命令。
第4圖繪示一計算系統46,其具有一主平台48、一圖形處理器50及專用圖形記憶體52,諸如圖形雙倍資料率(GDDR)記憶體。詳言之,計算系統46可以是一行動平台,諸如膝上型電腦、個人數位助理(PDA)、無線智慧型手機、媒體播放器、成像裝置、行動網際網路裝置(MID)、任一智慧型裝置,諸如智慧型手機、智慧型平板裝置、智慧型TV等,或其任一組合的一部分。計算系統46也可以是一固定平台,諸如,個人電腦(PC)、伺服器、工作站等的一部分。所示主平台48包括一或多個CPU 54、顯示裝置56、大量存儲器(例如,硬碟機、光碟機等)58及系統記憶體60,其可包括,例如,DDR同步動態隨機存取記憶體(SDRAM,例如2008年4月發佈的DDR3 SDRAM JEDEC標準JESC79-3C)模組。系統記憶體60之模組可併入一單直列記憶體模組(SIMM)、雙直列記憶體模組(DIMM)、小型DIMM(SODIMM)
等。
主平台48可包括一圖形匯流排(例如,槽)64,其中包含圖形處理器50及專用圖形記憶體52的一圖形卡(圖未示)可連接(例如,插入)圖形匯流排64。舉例而言,圖形匯流排64可包括一PCI高速圖形(PEG,例如,周邊組件互連/PCI高速x16圖形150W-ATX規格1.0,PCI特別興趣群)匯流排、一加速圖形埠(例如,2002年9月發佈的AGP V3.0介面規格)匯流排等。CPU 54可具有處理器核心(圖未示)以執行與一主OS(作業系統)相關聯的一或多個驅動程式62及/或應用軟體,其中每一核心可能功能齊全,具有指令提取單元、指令解碼器、一階(L1)快取、執行單元等。一般而言,驅動程式62可包括API延伸部分,該API延伸部分使3D命令及2D命令向圖形處理器50發出以與在主平台48上運行的圖形相關軟體結合執行。圖形相關軟體可包括電腦圖形應用,諸如3D電腦遊戲、飛行模擬器及其他3D成像應用。
在接收命令時,所示圖形處理器50識別接收命令的類型,並確定是否使用一3D管線66或一計算核心68及一或多個處理單元70來處理該等命令。例如,若一接收命令是一2D命令,諸如,清除命令、資源解析命令,或資源複製命令,則計算核心68及處理單元70可用以處理命令。另一方面,若命令是一3D命令,則3D管線66可用以處理命令。與2D命令及/或3D命令(例如,像素資料、硬體命令)執行相關聯之資料可被儲存在/發送至與顯示裝置56相關聯的一顯示介面72,其中顯示輸出可基於顯示介面72中的資料而產
生。因此,顯示介面72也可包括一幀緩衝區。
因此,所示計算系統46使2D操作能夠在現有處理器圖形矽中渲染,而無需設定及利用3D管線66或無需專用於2D操作的矽。例如,可排除的3D管線清除顏色命令處理包括,但並不限於,保存3D管線66之應用狀態,設定用以覆蓋一或多個渲染目標的一四邊形(例如,「四邊形(quad)」)的頂點/指標緩衝區,結合頂點/幾何形狀/像素渲染程式,結合光柵化程式及輸出合併狀態,設定視埠/剪裁矩形,結合一或多個渲染目標作為顏色緩衝區,執行繪製命令,及將3D管線66恢復成先前的應用狀態。此外,計算核心68路徑可消除使用一紋理取樣器來實施資源複製的需求。使用計算核心68路徑可更大程度地利用處理單元70,其中基於閾值,諸如最大處理單元閾值的微調是可能的。此外,2D操作的命令設定時間可能遠小於3D管線66的設定時間。
因此,實施例可包括具有一計算核心指令集合的一電腦可讀儲存媒體,計算核心指令集合若由一圖形處理器執行,致使一電腦接收一二維(2D)命令。計算核心指令還可致使一電腦直接分派2D命令給具有一三維(3D)管線的一圖形處理器的一或多個處理單元。
實施例也可包括具有一圖形處理器的一系統,該圖形處理器具有一3D管線、一或多個處理單元,及計算核心邏輯。計算核心邏輯可被配置成接收一2D命令並直接分派2D命令給一或多個處理單元。該系統也可包括一顯示介面,該顯示介面被配置成接收與由一或多個處理單元執行2D命
令相關聯之資料,及用以基於顯示介面中的資料而產生一顯示輸出的一顯示裝置。
其他實施例可包括一電腦實施方法,其中一2D命令被接收且一圖形處理器執行計算核心來處理2D命令。該方法也可提供用於使用電腦核心邏輯直接分派2D命令給一或多個圖形處理器單元。2D命令的分派可將2D命令分配給一圖形處理器之一或多個處理單元並略過該圖形處理器的一3D管線。該方法也可提供用於使用3D管線與由一圖形處理器之一或多個處理單元執行2D命令平行地執行一或多個3D命令。與執行2D命令相關聯的資料可在圖形處理器中處理,且一輸出可基於與2D命令相關聯之資料而產生。
本發明之實施例適用於與所有類型的半導體積體電路(「IC」)晶片一起使用。這些IC晶片之範例包括但並不限於,處理器、控制器、晶片組組件、可程式邏輯陣列(PLA)、記憶體晶片、網路晶片等。除此之外,在某些圖式中,信號導線用線條來表示。有些線條可能是不同的,為表示更多的組成信號路徑,用一數字標記來指示組成信號路徑的一編號,及/或一端或多於一端加上箭頭來指示主要資訊流方向。然而,這不應以限制方式來解釋。而是,此加入的細節可與一或多個示範性實施例相關聯地使用以便使電路更易於理解。不論是否具有額外資訊,任何描繪的信號線實際上都可包含可在多個方向上行進的一或多個信號且可用任一種適合類型的信號方案來實施,例如以差分對、光纖線路,及/或單端線路來實施的數位或類比線。
示範大小/模型/值/範圍可能已提出,然而,本發明之實施例並不限於此。因為製造技術(例如,光蝕刻)日臻成熟,預計尺寸較小的裝置可被製造出來。除此之外,為了簡化說明及討論起見,習知的與IC晶片及其他組件的電源/接地連接可能或可能不會在圖式中繪示,以免模糊本發明實施例的某些層面。此外,配置可以方塊圖形式來繪示,以免模糊本發明實施例,並且鑒於此種方塊圖配置實施的細節高度依賴於實施該實施例的平台,即此種細節應充分地屬於熟於此技者的認知範圍內。在特定細節(例如,電路)被提及以描述本發明之示範實施例之下,熟於此技者顯而易見的是,本發明之實施例可在這些特定細節無變動或有變動的情況下實施。因此,說明被視為說明性而非限制性。
某些實施例例如可使用一機器或實體電腦可讀媒體,或可儲存一指令或一指令集合的物品來實施,該指令或指令集合若被一機器執行,可致使該機器依據實施例執行一方法及/或操作。此機器可包括,例如,任一適合的處理平台、計算平台、計算裝置、處理裝置、計算系統、處理系統、電腦、處理器等,且可使用任一適合的硬體及/或軟體的組合來實施。機器可讀媒體或物品可包括,例如,任一適合類型的記憶體單元、記憶體裝置、記憶體物件、記憶媒體、儲存裝置、儲存物品、儲存媒體及/或儲存單元,例如,記憶體、可移動或非可移動媒體、可抹除或非可抹除媒體、可寫入或可重寫媒體、數位或類比媒體、硬碟、軟碟、唯讀光碟記憶體(CD-ROM)、可記錄光碟(CD-R)、可重
寫光碟(CD-RW)、光碟、磁性媒體、磁光媒體、可抽取式記憶卡或碟、各種類型的數位光碟(DVD)、磁帶、磁帶卡等。該等指令可包括使用任一適合的高階、低階、物件導向的、視覺、編譯及/或解譯程式語言來實施的任一適合類型的編碼,諸如,原始碼、編譯碼、解譯碼、可執行碼、靜態碼、動態碼、加密碼等。
除非另有特別說明,否則可了解的是,諸如「處理」、「運算」、「計算」、「確定」等詞指一電腦或計算系統、或類似的電子計算裝置將計算系統之暫存器及/或記憶體內以物理量(例如,電子)表示的資料,處理及/或轉換成為在該計算系統之暫存器及/或記憶體或其他此種資訊儲存、傳輸或顯示裝置內同樣以物理量表示的其他資料,的動作及/或步驟。該等實施例在此方面未加以限制。
「連接(coupled)」一詞可在本文中使用,以指討論中的組件之間的直接或間接中任一種類型的關係,且可適用於電氣、機械、流體、光學、電磁、電機或其他連接。除此之外,「第一」、「第二」等詞語可僅為了便於討論而在本文中使用,且除非另外指出,否則不具有特定的時間或時序意義。
熟於此技者將從上述說明了解的是,本發明實施例之廣泛技術可以各種不同的形式來實施。因此,雖然此發明的實施例已針對其特定範例而被加以描述,本發明實施例之真實範圍不應如此設限,由於在研究圖式、說明書及後附申請專利範圍時,其他的修改對於技術人員將變得很明
顯。
10‧‧‧圖形處理器
12‧‧‧3D(三維)管線
14、70‧‧‧處理單元
16‧‧‧3D命令
18‧‧‧計算核心
20‧‧‧2D(二維)命令
22‧‧‧取樣器
24、26‧‧‧記憶體陣列
28‧‧‧驅動程式
30‧‧‧2D渲染目標
32‧‧‧線程組
34‧‧‧方法
36‧‧‧處理方塊
38、40、42、44‧‧‧方塊
46‧‧‧計算系統
48‧‧‧主平台
50‧‧‧圖形處理器
52‧‧‧專用圖形記憶體
54‧‧‧CPU
56‧‧‧顯示裝置
58‧‧‧大量存儲器
60‧‧‧系統記憶體
62‧‧‧驅動程式
64‧‧‧圖形匯流排
66‧‧‧3D管線
68‧‧‧計算核心
72‧‧‧顯示介面
第1圖是依據一實施例的一圖形處理器之一範例的方塊圖;第2A圖是依據一實施例的一資源複製操作之處理的一範例的方塊圖;第2B圖是依據一實施例的一渲染目標清除操作之處理的一範例的方塊圖;第3圖是依據一實施例的一種處理圖形命令方法之一範例的流程圖;第4圖是依據一實施例的一計算系統之一範例的方塊圖。
Claims (20)
- 一種電腦實施方法,其包含以下步驟:藉由一圖形處理器,進行對於在該圖形處理器處所接收到的圖形命令之類型的判定,以在該圖形命令抵達該圖形處理器的管線之前識別出該圖形命令是一二維(2D)命令還是一三維(3D)命令;藉由該圖形處理器,且基於判定結果而使用計算核心邏輯來將2D命令直接分派給該圖形處理器的一或多個處理單元,其中,對該2D命令之分派會略過該圖形處理器的一3D管線而將該2D命令分配給該圖形處理器之該一或多個處理單元,並且其中,分派該2D命令的該計算核心邏輯與該3D管線彼此互斥而使得該計算核心邏輯無法處理一或多個3D命令,包含無法分派該一或多個3D命令:藉由該圖形處理器,且基於該判定結果而使用該3D管線來以與由該圖形處理器之該一或多個處理單元對於該2D命令之執行並行的方式執行該一或多個3D命令;在該圖形處理器中處理與對該2D命令之執行相關聯的資料;以及基於與該2D命令相關聯的該資料而產生一輸出。
- 如申請專利範圍第1項所述之方法,其中,該2D命令包括下列中之至少一者:一渲染目標清除命令、與一深度模板清除命令。
- 如申請專利範圍第1項所述之方法,其中,該2D命令包括一資源解析命令。
- 如申請專利範圍第1項所述之方法,其中,該2D命令包括一資源複製命令。
- 一種包含一組指令的非暫時性電腦可讀儲存媒體,該等指令在受一圖形處理器執行時會致使一電腦進行下列步驟:藉由該圖形處理器,進行對於在該圖形處理器處所接收到的圖形命令之類型的判定,以在該圖形命令抵達該圖形處理器的管線之前識別出該圖形命令是一二維(2D)命令還是一三維(3D)命令,以及藉由該圖形處理器,且基於判定結果而使用計算核心邏輯來將2D命令直接分派給該圖形處理器的一或多個處理單元,其中,該圖形處理器具有一3D管線,其中,分派該2D命令的該計算核心邏輯與該3D管線彼此互斥而使得該計算核心邏輯無法處理一或多個3D命令,包含無法分派該一或多個3D命令。
- 如申請專利範圍第5項所述之媒體,其中,由該計算核心邏輯對該2D命令之分派會是略過該3D管線而對該圖形處理器之該一或多個處理單元的直接分派。
- 如申請專利範圍第6項所述之媒體,其中,該等指令在受執行時會致使該圖形處理器基於該判定結果而使用該3D管線來以與由該一或多個處理單元對該2D命令之執行並行的方式執行該一或多個3D命令。
- 如申請專利範圍第5項所述之媒體,其中,該等指令在受執行時會致使該圖形處理器進行下列步驟:直接在該圖形處理器之該一或多個處理單元上處理該2D命令,其中,該一或多個處理單元係經由一圖形處理器排程器而從複數個處理單元中所選出者,以及使用該圖形處理器排程器來將一或多個2D命令而非一或多個3D命令分配給該圖形處理器之該一或多個處理單元。
- 如申請專利範圍第5項所述之媒體,其中,該2D命令包括一清除顏色命令。
- 如申請專利範圍第9項所述之媒體,其中,該清除顏色命令包括下列中之至少一者:一渲染目標清除命令、與一深度模板清除命令。
- 如申請專利範圍第5項所述之媒體,其中,該2D命令包括一資源解析命令。
- 如申請專利範圍第5項所述之媒體,其中,該2D命令包括一資源複製命令。
- 一種運算系統,其包含:一圖形處理器,其包括一三維(3D)管線、一或多個處理單元、及計算核心邏輯,該圖形處理器用以:藉由該圖形處理器,進行對於在該圖形處理器處所接收到的圖形命令之類型的判定,以在該圖形命令抵達該圖形處理器的管線之前識別出該圖形命令是一二維(2D)命令還是一3D命令,及 藉由該圖形處理器,且基於判定結果而使用該計算核心邏輯來將2D命令直接分派給該一或多個處理單元,其中,分派該2D命令的該計算核心邏輯與該3D管線彼此互斥而使得該計算核心邏輯無法處理一或多個3D命令,包含無法分派該一或多個3D命令;一顯示介面,用以接收與由該一或多個處理單元對該2D命令之執行相關聯的資料;以及一顯示裝置,用以基於該顯示介面中之該資料而產生一顯示輸出。
- 如申請專利範圍第13項所述之系統,其中,由該計算核心邏輯對該2D命令之分派會是略過該3D管線而對該圖形處理器之該一或多個處理單元的直接分派。
- 如申請專利範圍第14項所述之系統,其中,該3D管線包括要由該圖形處理器基於該判定結果而用來以與由該一或多個處理單元對該2D命令之執行並行的方式執行該一或多個3D命令的管線邏輯。
- 如申請專利範圍第13項所述之系統,其中,該計算核心邏輯用以,使用排程邏輯來從複數個處理單元中選擇該圖形處理器之該一或多個處理單元,以及使用該排程邏輯來將一或多個2D命令而非一或多個3D命令分配給該圖形處理器之該一或多個處理單元。
- 如申請專利範圍第13項所述之系統,其中,該2D命令包括一清除顏色命令。
- 如申請專利範圍第17項所述之系統,其中,該清除顏色命令包括下列中之至少一者:一渲染目標清除命令、與一深度模板清除命令。
- 如申請專利範圍第13項所述之系統,其中,該2D命令包括下列中之至少一者:一資源解析命令、與一資源複製命令。
- 如申請專利範圍第13項所述之系統,其進一步包含:一或多個驅動器,用以使得該圖形命令能夠被發出給該圖形處理器,其中,該圖形處理器可在於該圖形處理器處接收到該圖形命令時識別該2D命令和該3D命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/174,116 | 2011-06-30 | ||
US13/174,116 US10013731B2 (en) | 2011-06-30 | 2011-06-30 | Maximizing parallel processing in graphics processors |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201305829A TW201305829A (zh) | 2013-02-01 |
TWI633447B true TWI633447B (zh) | 2018-08-21 |
Family
ID=47390187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101120103A TWI633447B (zh) | 2011-06-30 | 2012-06-05 | 最大化圖形處理器中之平行處理之技術 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10013731B2 (zh) |
CN (1) | CN103620641B (zh) |
TW (1) | TWI633447B (zh) |
WO (1) | WO2013003645A2 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013731B2 (en) | 2011-06-30 | 2018-07-03 | Intel Corporation | Maximizing parallel processing in graphics processors |
US9430807B2 (en) | 2012-02-27 | 2016-08-30 | Qualcomm Incorporated | Execution model for heterogeneous computing |
US11170460B2 (en) * | 2014-12-05 | 2021-11-09 | Intel Corporation | Dedicated hardware unit to offload blending of values from memory |
US20160292812A1 (en) * | 2015-03-31 | 2016-10-06 | Qualcomm Incorporated | Hybrid 2d/3d graphics rendering |
US10229468B2 (en) * | 2015-06-03 | 2019-03-12 | Intel Corporation | Automated conversion of GPGPU workloads to 3D pipeline workloads |
US9679346B2 (en) * | 2015-06-07 | 2017-06-13 | Apple Inc. | Graphics engine and environment for efficient real time rendering of graphics that are not pre-known |
US9984490B2 (en) | 2015-06-11 | 2018-05-29 | Intel Corporation | Optimizing for rendering with clear color |
CA2996709A1 (en) * | 2015-08-27 | 2017-03-02 | Dronsystems Limited | A highly automated system of air traffic control (atm) for at least one unmanned aerial vehicle (unmanned aerial vehicles uav) |
US10134103B2 (en) * | 2015-10-23 | 2018-11-20 | Qualcomm Incorporated | GPU operation algorithm selection based on command stream marker |
US20170358132A1 (en) * | 2016-06-12 | 2017-12-14 | Apple Inc. | System And Method For Tessellation In An Improved Graphics Pipeline |
CN106651745A (zh) * | 2016-12-12 | 2017-05-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种分离式图形处理器指令处理系统 |
CN106648551A (zh) * | 2016-12-12 | 2017-05-10 | 中国航空工业集团公司西安航空计算技术研究所 | 一种混合图形处理器指令处理系统 |
US10367639B2 (en) | 2016-12-29 | 2019-07-30 | Intel Corporation | Graphics processor with encrypted kernels |
CN108171644A (zh) * | 2017-12-22 | 2018-06-15 | 天津麒麟信息技术有限公司 | 一种基于gcn架构显卡的二维图形加速方法 |
US10467724B1 (en) * | 2018-02-14 | 2019-11-05 | Apple Inc. | Fast determination of workgroup batches from multi-dimensional kernels |
US10475152B1 (en) | 2018-02-14 | 2019-11-12 | Apple Inc. | Dependency handling for set-aside of compute control stream commands |
GB2573543B (en) * | 2018-05-09 | 2021-10-27 | Advanced Risc Mach Ltd | Graphics Processing |
US11010888B2 (en) | 2018-10-29 | 2021-05-18 | International Business Machines Corporation | Precision defect detection based on image difference with respect to templates |
US10957032B2 (en) | 2018-11-09 | 2021-03-23 | International Business Machines Corporation | Flexible visual inspection model composition and model instance scheduling |
US11281496B2 (en) | 2019-03-15 | 2022-03-22 | Intel Corporation | Thread group scheduling for graphics processing |
US12020075B2 (en) | 2020-09-11 | 2024-06-25 | Apple Inc. | Compute kernel parsing with limits in one or more dimensions with iterating through workgroups in the one or more dimensions for execution |
CN112214443B (zh) * | 2020-10-22 | 2021-12-03 | 上海壁仞智能科技有限公司 | 设置于图形处理器中的二次卸载装置和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5861893A (en) * | 1997-05-27 | 1999-01-19 | Intel Corporation | System and method for graphics data concurrency and coherency |
US6078339A (en) * | 1998-02-10 | 2000-06-20 | Intel Corporation | Mutual exclusion of drawing engine execution on a graphics device |
US20030164833A1 (en) * | 2002-03-01 | 2003-09-04 | Walls Jeffrey J. | System and method for rendering graphical data |
US20070091102A1 (en) * | 2005-10-26 | 2007-04-26 | John Brothers | GPU Pipeline Multiple Level Synchronization Controller Processor and Method |
US20100164965A1 (en) * | 2008-12-30 | 2010-07-01 | Stmicroelectronics S.R.L. | Rendering module for bidimensional graphics, preferably based on primitives of active edge type |
US20110022817A1 (en) * | 2009-07-27 | 2011-01-27 | Advanced Micro Devices, Inc. | Mapping Processing Logic Having Data-Parallel Threads Across Processors |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002409A (en) * | 1997-10-29 | 1999-12-14 | Cirrus Logic, Inc. | Arbitration for shared graphics processing resources |
US20080074428A1 (en) | 2003-11-19 | 2008-03-27 | Reuven Bakalash | Method of rendering pixel-composited images for a graphics-based application running on a computing system embodying a multi-mode parallel graphics rendering system |
US7812844B2 (en) | 2004-01-28 | 2010-10-12 | Lucid Information Technology, Ltd. | PC-based computing system employing a silicon chip having a routing unit and a control unit for parallelizing multiple GPU-driven pipeline cores according to the object division mode of parallel operation during the running of a graphics application |
US7961194B2 (en) * | 2003-11-19 | 2011-06-14 | Lucid Information Technology, Ltd. | Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system |
US8065687B2 (en) * | 2007-01-05 | 2011-11-22 | Moka5, Inc. | Bypass virtualization |
US7696993B2 (en) | 2007-02-08 | 2010-04-13 | Via Technologies, Inc. | Geometry primitive type conversion in a GPU pipeline |
US8368701B2 (en) | 2008-11-06 | 2013-02-05 | Via Technologies, Inc. | Metaprocessor for GPU control and synchronization in a multiprocessor environment |
US8572622B2 (en) * | 2009-12-30 | 2013-10-29 | International Business Machines Corporation | Reducing queue synchronization of multiple work items in a system with high memory latency between processing nodes |
JP4818450B1 (ja) * | 2010-06-30 | 2011-11-16 | 株式会社東芝 | グラフィクスプロセッシングユニットおよび情報処理装置 |
US9582920B2 (en) * | 2010-08-31 | 2017-02-28 | Apple Inc. | Systems, methods, and computer-readable media for efficiently processing graphical data |
US8782645B2 (en) * | 2011-05-11 | 2014-07-15 | Advanced Micro Devices, Inc. | Automatic load balancing for heterogeneous cores |
US10013731B2 (en) | 2011-06-30 | 2018-07-03 | Intel Corporation | Maximizing parallel processing in graphics processors |
-
2011
- 2011-06-30 US US13/174,116 patent/US10013731B2/en not_active Expired - Fee Related
-
2012
- 2012-06-05 TW TW101120103A patent/TWI633447B/zh not_active IP Right Cessation
- 2012-06-28 WO PCT/US2012/044737 patent/WO2013003645A2/en active Application Filing
- 2012-06-28 CN CN201280031207.4A patent/CN103620641B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5861893A (en) * | 1997-05-27 | 1999-01-19 | Intel Corporation | System and method for graphics data concurrency and coherency |
US6078339A (en) * | 1998-02-10 | 2000-06-20 | Intel Corporation | Mutual exclusion of drawing engine execution on a graphics device |
US20030164833A1 (en) * | 2002-03-01 | 2003-09-04 | Walls Jeffrey J. | System and method for rendering graphical data |
US20070091102A1 (en) * | 2005-10-26 | 2007-04-26 | John Brothers | GPU Pipeline Multiple Level Synchronization Controller Processor and Method |
US20100164965A1 (en) * | 2008-12-30 | 2010-07-01 | Stmicroelectronics S.R.L. | Rendering module for bidimensional graphics, preferably based on primitives of active edge type |
US20110022817A1 (en) * | 2009-07-27 | 2011-01-27 | Advanced Micro Devices, Inc. | Mapping Processing Logic Having Data-Parallel Threads Across Processors |
Also Published As
Publication number | Publication date |
---|---|
CN103620641A (zh) | 2014-03-05 |
TW201305829A (zh) | 2013-02-01 |
WO2013003645A2 (en) | 2013-01-03 |
US20130002689A1 (en) | 2013-01-03 |
US10013731B2 (en) | 2018-07-03 |
WO2013003645A3 (en) | 2013-02-28 |
CN103620641B (zh) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI633447B (zh) | 最大化圖形處理器中之平行處理之技術 | |
CN107430523B (zh) | 图形处理器的高效抢占 | |
CN109564695B (zh) | 用于高效3d图形流水线的装置和方法 | |
US11113790B2 (en) | Adding greater realism to a computer-generated image by smoothing jagged edges | |
CN109564700B (zh) | 用于取决于纹理的丢弃操作的分级式Z剔除(HiZ)优化 | |
US10217183B2 (en) | System, method, and computer program product for simultaneous execution of compute and graphics workloads | |
US9953455B2 (en) | Handling post-Z coverage data in raster operations | |
CN106575440B (zh) | 恒定缓冲器大小多采样抗混叠深度压缩 | |
US11847733B2 (en) | Performance of ray-traced shadow creation within a scene | |
US9905037B2 (en) | System, method, and computer program product for rejecting small primitives | |
KR20180054814A (ko) | 레이트 심도 테스팅과 컨서버티브 심도 테스팅 간의 동적 스위칭 | |
KR20200002608A (ko) | 그래픽 엔진 상에서 다수의 컨텍스트를 동시에 실행하는 방법 및 장치 | |
US10409571B1 (en) | Apparatus and method for efficiently accessing memory when performing a horizontal data reduction | |
US20150145871A1 (en) | System, method, and computer program product to enable the yielding of threads in a graphics processing unit to transfer control to a host processor | |
US20140372703A1 (en) | System, method, and computer program product for warming a cache for a task launch | |
US12039654B2 (en) | Method and apparatus for viewport shifting of non-real time 3D applications | |
US20170372506A1 (en) | Discard Mechanism for Tile-Based Rendering | |
US9601092B2 (en) | Dynamically managing memory footprint for tile based rendering | |
US20140184616A1 (en) | System, method, and computer program product for identifying a faulty processing unit | |
CN108292426B (zh) | 基于部分跨度的光栅化 | |
US9916680B2 (en) | Low-power processing in depth read-only operating regimes | |
CN107004252B (zh) | 用于在处理浮点值时实现功率节省技术的装置与方法 | |
WO2022095010A1 (en) | Methods and apparatus for rasterization of compute workloads | |
CN107003934B (zh) | 改进共享本地存储器和系统全局存储器之间的存储器访问性能的装置和方法 | |
TWI853134B (zh) | 基於深度學習的自適應超取樣樣本選擇 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |