TWI515671B - 運用一或多個限制計算一裝置設定的系統、方法和電腦程式商品 - Google Patents

運用一或多個限制計算一裝置設定的系統、方法和電腦程式商品 Download PDF

Info

Publication number
TWI515671B
TWI515671B TW102123502A TW102123502A TWI515671B TW I515671 B TWI515671 B TW I515671B TW 102123502 A TW102123502 A TW 102123502A TW 102123502 A TW102123502 A TW 102123502A TW I515671 B TWI515671 B TW I515671B
Authority
TW
Taiwan
Prior art keywords
node
nodes
dag
settings
subset
Prior art date
Application number
TW102123502A
Other languages
English (en)
Other versions
TW201417003A (zh
Inventor
約翰F 史匹哲
奧列格 維亞恰基拉維奇 維諾格拉多夫
謝吉 謝蓋爾維奇 格雷柏肯
Original Assignee
輝達公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 輝達公司 filed Critical 輝達公司
Publication of TW201417003A publication Critical patent/TW201417003A/zh
Application granted granted Critical
Publication of TWI515671B publication Critical patent/TWI515671B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Image Processing (AREA)

Description

運用一或多個限制計算一裝置設定的系統、方法和電腦程式商品
本發明係關於參數分析,具體的係關於根據參數分析決定一預設集合。
現今許多產品都包括會影響到該產品整體使用經驗的一或多個參數,例如:電腦遊戲以及其他軟體可具有許多決定渲染、音頻、遊戲遊玩等等品質的參數。不過,當前安排與這些產品相關聯的該等參數之技術具有許多限制。
例如:目前客戶可負責手動調整與產品相關聯的複數個參數,以便決定該產品的適當設定。這可導致產品並非最佳設定、試驗廢時以及客戶出錯等等。因此需要解決先前技術所伴隨的這些與其他問題。
本發明揭示一種提供運用一或多個限制來計算一裝置的設定的系統、方法和電腦程式商品。在使用上,已識別與一裝置相關聯的複數個參數。此外,運用該等複數個參數,已決定一或多個限制。進一步,運用該等一或多個限制以及該等複數個參數,計算用於該裝置的一或多個設定。
100‧‧‧方法
102‧‧‧操作
104‧‧‧操作
106‧‧‧操作
200‧‧‧方法
202‧‧‧操作
204‧‧‧操作
206‧‧‧操作
208‧‧‧操作
210‧‧‧操作
212‧‧‧操作
214‧‧‧操作
216‧‧‧操作
218‧‧‧操作
300‧‧‧示範參數DAG
302A-I‧‧‧節點
302A‧‧‧頂端節點
302I‧‧‧底部節點
304‧‧‧第一集合
306A-C‧‧‧變化
306A‧‧‧第一節點
306B‧‧‧第二節點
306C‧‧‧第三節點
308‧‧‧第二集合
310A-C‧‧‧變化
312‧‧‧有向邊緣
400‧‧‧示範系統
401‧‧‧主處理器
402‧‧‧通訊匯流排
404‧‧‧主記憶體
406‧‧‧圖形處理器
408‧‧‧顯示器
410‧‧‧次要儲存器
第一圖顯示根據一具體實施例,用於決定一裝置的設定之方法。
第二圖顯示根據另一具體實施例,用於決定一個人電腦的預定最佳可顯示設定之方法。
第三圖例示根據另一具體實施例的一示範參數DAG。
第四圖說明其中可實施許多先前具體實施例的許多架構和/或功能性之示範系統。
第一圖顯示根據一具體實施例,用於決定一裝置的設定之方法100。如操作102所示,已識別與一裝置相關聯的複數個參數。在一具體實施例中,該裝置可包括具有與之相關聯的複數個參數之任何物體。例如:該裝置可包括一物體,例如個人電腦、個人數位助理、行動電話或其他硬體元件、汽車、房子等等。
此外,在一具體實施例中,該等複數個參數可包括該裝置的任何特性。例如:該等複數個參數可包括該裝置(例如桌上型電腦、膝上型電腦、平板電腦、個人數位助理、行動電話等等)內安裝的硬體描述(例如一中央處理單元(CPU,central processing unit)、一圖形處理單元(GPU,graphics processing unit)、隨機存取記憶體(RAM,random access memory)、一主機板、一顯示器、一解析度等等)、該裝置內安裝的軟體(例如一作業系統、驅動程式等等)、汽車的引擎特性(例如正時、汽缸頭類型等等)等等。
進一步在一具體實施例中,該等複數個參數之一或多者都可獨立設置。例如:每一該等複數個參數都可與其他參數分別被變更。在另一具體實施例中,該裝置可運用每一該等複數個參數,以執行一或多個動作。在另一具體實施例中,該等複數個參數可在一伺服器上識別。例如:該等複數個參數可從該產品或服務或與該產品或服務相關連的一實體,透過一網路(例如一無線網路、一有線網路、一行動網路、一衛星網路等等)傳送至一伺服器。在另一個範例中,根據一預定間隔(例如一天一次、一週一次、一月一次等等),從該裝置將描述該等複數個參數的細節上載至該伺服器。
此外,如操作104所示,運用該等複數個參數,已決定一或多個限制。在一具體實施例中,運用一有向無環圖(DAG,directed acyclic graph),可決定該等一或多個限制。例如:該DAG可包括已建立內含複數個有向節點的圖形,其中根據一或多個條件引導該等節點。例如:該DAG 的複數個節點之每一者可代表裝置參數的組合,並且在該DAG內根據與每一節點相關聯的該速率來引導該等節點,在此該速度係根據由該節點所代表的該等裝置參數所決定。在另一具體實施例中,可在該DAG內引導該等節點,如此決定該DAG的第二節點在一或更多方面(例如關於處理速度等等)絕對快過該DAG的第一節點時,該DAG的第一節點可指向該DAG的第二節點。
進一步在一具體實施例中,該DAG內的每一節點都可代表與該裝置或其他裝置相關聯的複數個可能參數變化之獨一變化。例如:與該裝置相關聯的該等複數個可能參數可包括一裝置CPU、一裝置GPU以及一裝置解析度,並且該DAG內的每一節點都可代表一特定類型的裝置CPU、裝置GPU以及裝置解析度的獨一組合。如此,該DAG內一第一節點指向一第二節點表明,與該裝置相關聯並由該DAG內該第一節點代表的該等複數個可能參數比起來,與該裝置相關聯並由該DAG內該第二節點代表的該等複數個可能參數能提供絕對較優之處理速度與效能。
仍舊進一步,在一具體實施例中,決定該等一或多個限制可包括識別該DAG內,對應至與該裝置相關聯的該等已識別複數個參數之一節點。例如:可識別該DAG內代表複數個可能參數變化匹配與該裝置相關聯的該已識別複數個參數之一節點,並且映射至該裝置。
另外,在一具體實施例中,決定該等一或多個限制可包括決定該DAG內節點的第一子集,其在整體速度與效能方面絕對比對應至與該裝置相關聯的該等已識別複數個參數之該已識別節點還要慢或相等。例如:可決定該DAG內直接或間接指向該已識別節點,該節點對應至與該裝置相關聯的該等已識別複數個參數之所有節點。
此外,在一具體實施例中,決定該等一或多個限制可包括決定該DAG內節點的第二子集,其在整體速度與效能方面絕對比對應至與該裝置相關聯的該等已識別複數個參數之該已識別節點還要快或相等。例如:可決定該DAG內由該已識別節點,該節點對應至與該裝置相關聯的該等已識別複數個參數,直接或間接指向之所有節點。
更進一步,在一具體實施例中,決定該等一或多個限制可包 括計算出該節點第一子集可能產生的一最大輸出。例如:該節點的第一子集之最大輸出可包括能夠由該第一子集內該等節點處理以及輸出的最高畫質。在另一具體實施例中,該節點的第一子集之最大輸出可包括針對特定情況(例如最小容許訊框率等等),能夠由該第一子集內該等節點處理以及輸出的最高畫質。
在另一具體實施例中,一或多個設定可與該節點第一子集可能產生的該最大輸出相關聯。例如:該節點第一子集內的一特定節點可識別為對應至可產生該最大輸出的該等複數個參數。在另一具體實施例中,該特定節點可與一或多個預定設定(例如運用該等已知複數個參數可產生最大輸出的該等預定設定等等)相關聯,然後可與該節點第一子集的該最大輸出相關聯。
例如:針對與該裝置相關聯的該等複數個可能變數之一或多個獨一變化,已決定預設的單一集合,其中由該DAG內一節點代表每一獨一變化。例如:請參閱[NVIDP695],在此完整併入當成參考,並且其說明根據複數個參數用於決定預設單一集合的示範方法。
在另一具體實施例中,該等預定設定可關聯於根據與該裝置相關聯的複數個可能參數(例如與一特定節點相關聯的該等複數個參數等等),已決定的一或多個參數。例如:請參閱[NVIDP541],在此完整併人當成參考,並且其說明根據硬體規格用於決定應用程式參數的示範方法。
仍舊進一步,在一具體實施例中,決定該等一或多個限制可包括計算出該節點第二子集不可能產生的一最小輸出。例如:該節點第二子集的最小輸出可包括無法由該第二子集內該等節點處理以及輸出的最低畫質。在另一具體實施例中,該節點第二子集的最小輸出可包括針對特定情況(例如最小容許訊框率等等),無法由該第二子集內該等節點處理以及輸出的最低畫質。
在另一具體實施例中,一或多個設定可與該節點第二子集不可能產生的該最小輸出相關聯。例如:該節點第二子集內的一特定節點可識別為對應至不可產生該最小輸出的該等複數個參數。在另一具體實施例中,該特定節點可與一或多個預定設定(例如運用該等已知複數個參數可避 免產生最小輸出的該等預定設定等等)相關聯,然後可與該節點第二子集的該最小輸出相關聯。
另外,如操作106所示,運用該等一或多個限制以及該等複數個參數,計算用於該裝置的一或多個設定。在一具體實施例中,針對該裝置計算的該等一或多個設定,可包括與該裝置相關聯的一或多個該等複數個參數之預先定義之設定。例如:該裝置可包括一個人電腦,並且該等設定可包括用於該裝置內所安裝硬體與軟體的一或多個元件之預先定義之設定。
此外,在一具體實施例中,該等設定可與該產品或服務所執行的一或多個操作相關聯。例如:該等設定可包括用於由該裝置運行一或多個軟體程式的預先定義設定。在另一具體實施例中,計算用於該裝置的該等一或多個設定,可包括用於產生一最大化輸出(例如畫質等等),同時維持一情況(例如一最小訊框率等等)的該已識別複數個參數之設定。
進一步在一具體實施例中,運用該等複數個參數決定的該等一或多個限制,可提供在該裝置的一或多個設定計算期間要使用的界限。例如:計算該裝置的該等一或多個設定時,該等一或多個限制可包括可能由該節點第一子集產生的該最大輸出,其可指定為一地板、起點、最小輸出量等等。在另一個範例中,計算該裝置的該等一或多個設定時,該等一或多個限制可包括不可能由該節點第二子集產生的該最小輸出,其可指定為一天花板、終點、最大輸出量等等。
在另一具體實施例中,計算該裝置的該等一或多個設定時,該等一或多個限制可包括與該節點第一子集的該最大輸出相關聯之該等一或多個預定設定,其可指定為最小可能設定。進一步,計算該裝置的該等一或多個設定時,該等一或多個限制可包括與該節點第二子集的該最小輸出相關聯之該等一或多個預定設定,其可指定為最大可能設定。
仍舊進一步,在一具體實施例中,計算該裝置的該等一或多個設定可包括決定該等最小可能設定與該等最大可能設定間的半途上之中間點設定,以及決定該裝置是否可維持該情況同時執行該等中間點設定。此外,若決定該裝置使用該等中間點設定無法維持該情況,則提高該等裝 置設定的減少量,直到決定裝置設定可以維持該情況。進一步,若決定該裝置使用該等中間點設定可以維持該情況,則提高該等裝置設定的增加量,直到決定裝置設定可以維持該情況。
如此,決定用於該裝置的該等複數個參數並導致最大化輸出之設定同時維持該裝置情況時,限制可套用至與該裝置相關聯的該等複數個參數。利用來自該DAG內相鄰設置的預定設定,可在最佳化設定之下更快速收斂。另外,可針對該裝置決定一或多個預定設定,同時確定針對該裝置滿足預定條件(例如最小訊框率情況等等)。此外,藉由使用一DAG,可使用二進位搜尋來決定該等一或多個設定。
此時將公佈有關許多選擇架構和功能,如此可依照使用者意願實施或不實施前述結構之更多說明資訊。吾人應該特別注意,下列資訊僅供說明,不應解釋為以任何方式進行限制。下列任何功能都可在排除或不排除所說明其他功能之下選擇性併入。
第二圖顯示根據另一具體實施例,用於決定一個人電腦的預定最佳可顯示設定之方法200。根據選項,可在第一圖的功能性範圍內實施方法200。不過,當然方法200可在任何所要的環境內實施。吾人也應該注意,在目前說明當中也適用前述定義。
如操作202所示,已將與一個人電腦相關聯的複數個參數傳送至一伺服器。在一具體實施例中,該等複數個參數可包括與該個人電腦的顯示器相關聯之參數。例如:該等複數個參數可包括該個人電腦的一螢幕解析度。在另一具體實施例中,該等複數個參數可包括由該個人電腦進行圖形轉捩相關聯的參數。例如:該等複數個參數可包括安裝在該個人電腦內的系統硬體項目(例如CPU項目、GPU項目、主機板項目、RAM項目等等)、安裝在該個人電腦內的系統軟體項目等等。
此外,在一具體實施例中,該伺服器可遠離該個人電腦,並且該等複數個參數可透過一網路傳送至該伺服器。例如:該個人電腦內安裝的軟體可獲得該等複數個參數,並且可將這些參數傳送給該伺服器。在另一具體實施例中,該伺服器可位於該個人電腦內,並且該等複數個參數可傳送給該個人電腦內的該伺服器。不過,當然該等複數個參數可用任何 方式傳送給該伺服器。
在另一具體實施例中,一使用者在該個人電腦上運行一應用程式時,與該個人電腦相關聯的該等複數個參數可傳送給該伺服器。在又一具體實施例中,一使用者在該個人電腦上安裝一應用程式時,與該個人電腦相關聯的該等複數個參數可傳送給該伺服器。仍舊在另一具體實施例中,一使用者在該個人電腦上下載一應用程式時,與該個人電腦相關聯的該等複數個參數可傳送給該伺服器。不過,當然在任何動作或條件結果之下,與該個人電腦相關聯的該等複數個參數可傳送給該伺服器。
進一步,如操作204所示,運用傳給該伺服器的該等複數個參數,已在該伺服器上識別一參數DAG內的一節點。例如:該參數DAG可包括代表該個人電腦參數獨一組合的複數個節點,並且可識別該DAG內代表傳送給該伺服器的該等複數個參數所有或一預定子集之一節點。
仍舊進一步,如操作206所示,在該伺服器上決定該參數DAG內在速度上絕對比該已識別節點還要慢或相等之所有節點的一第一子集。在一具體實施例中,該參數DAG內的每一節點都可代表該個人電腦參數的一獨一組合,並且該參數DAG內的每一節點都可關聯於一預定速度(例如該節點的參數獨一組合可處理資料的速度)。例如:一速度可明確計算或近似值,用於該個人電腦的獨一參數組合,並且這種速度可與其對應節點相關聯。
另外,在一具體實施例中,可利用識別直接或間接指向該已識別節點的所有節點,決定在該參數DAG內在速度上絕對比該已識別節點還要慢或相等之所有節點的該第一子集。此外,如操作208所示,在該伺服器上決定該參數DAG內在速度上絕對比該已識別節點還要快或相等之所有節點的一第二子集。在一具體實施例中,可利用識別由該已識別節點直接或間接指向的所有節點,決定在該參數DAG內在速度上絕對比該已識別節點還要快或相等之所有節點的該第二子集。
進一步,如操作210所示,決定在賦予一預定條件的該節點第一子集內產生最大輸出之一地板節點。在一具體實施例中,該預定條件可包括一預定最小可接受訊框率,其可由該DAG內每一節點所代表的參數 獨一組合所產生。在另一具體實施例中,相關參數產生該最大輸出的該地板節點可包括在已知該預定條件下產生最高畫質的該節點。在又一具體實施例中,利用針對一臨界訊框率,比較該節點第一子集內每一節點所代表的該參數獨一組合之輸出幅度(例如畫質等等),可識別產生該最大輸出的該地板節點。
仍舊進一步,如操作212所示,決定在賦予一預定條件的該節點第二子集內產生最小輸出之一天花板節點。在一具體實施例中,產生該最小輸出的該天花板節點可包括在已知該預定條件下相關參數產生最低畫質的該節點。在又一具體實施例中,利用針對一臨界訊框率,比較該節點第一子集內每一節點所代表的該參數獨一組合之輸出幅度(例如畫質等等),可識別產生該最小輸出的該天花板節點。
另外,如操作214所示,識別與可由賦予該預定條件的該地板節點所產生最大輸出相關聯的地板設定。在一具體實施例中,該等設定可包括一或多個設定,其指派給由該地板節點所代表並且產生該最大輸出的參數組合,同時也識別滿足該預定條件。此外,如操作216所示,識別與該天花板節點所產生最小輸出相關聯,同時違反該該預定條件的天花板設定。
在一具體實施例中,指派給由該天花板節點所代表參數組合的該等設定可遞增,直到不滿足一預定訊框率條件(例如該等參數產生的訊框率低於臨界訊框率)。進一步,該等設定可包括一或多個設定,其指派給由該天花板節點所代表並且產生該最小輸出的參數組合,同時也識別違反該預定條件。
更進一步,如操作218所示,根據該等地板設定或該等天花板設定,針對與該個人電腦相關聯的該等複數個參數改善最佳可播放設定。在一具體實施例中,在該等地板設定與該等天花板設定間的半途上,就可決定與該個人電腦相關聯的該等複數個參數之中間點設定。此外,在一具體實施例中,若賦予該等中間點設定的該等參數滿足一預定條件(例如通過/未通過Boolean條件、一臨界值(例如訊框率等)等等),該等設定可遞增,直到不滿足該預定條件,並且滿足該訊框率的最後有效設定可設定為 該等最佳可播放設定。
相對在一具體實施例中,若賦予該等中間點設定的該等參數並未滿足一預定條件(例如訊框率等等),該等設定可遞減,直到滿足該預定條件,並且滿足該訊框率的第一有效設定可設定為該等最佳可播放設定。如此,該等地板設定以及該等天花板設定可當成限制,以便在偵測到該個人電腦的最佳可播放設定時改善收斂度。
仍舊進一步,在一具體實施例中,在該個人電腦的最佳可播放設定決策期間,可持續改善節點的第一與第二子集以及該地板節點和天花板節點。如此,在該個人電腦的最佳可播放設定決策期間,任何時間都可決定新節點子集以及地板和天花板節點。
第三圖例示根據另一具體實施例的一示範參數DAG 300。選擇性,可在第一圖至第二圖功能性範圍內實施示範參數DAG 300。不過,當然示範參數DAG 300可在任何所要的環境內實施。吾人也應該注意,在目前說明當中也適用前述定義。
如所示,示範參數DAG 300包括複數個節點302A-I,這每 一都對應至個人電腦內一第一組件(例如一CPU類型等等)的變化306A-C之第一集合304,以及個人電腦內一第二組件(例如一GPU類型等等)的變化310A-C之第二集合308。在一具體實施例中,DAG 300可包括一有向圖,其具有由節點302A-I的集合所形成之無向循環(例如頂點等等)以及複數個有向邊緣312,如此無法從該DAG 300內任何節點開始,並且跟著最終再次循環回到開始節點的一序列邊緣。
此外,根據處理速度來引導該第一組件的變化306A-C之第一集合304以及該第二組件的變化310A-C之第二集合308內的該等節點,用較慢的節點指向較快的節點。如此,第一節點306A為第一集合304內最慢的節點、第二節點306B比第一集合304內的第一節點306A快但是比第三節點306C慢,並且第三節點306C為第一集合304內最快的節點。
在一具體實施例中,運用一或多個演算法、標準測試、製造商公佈等等可決定每一個該等節點302A-I的速度。在另一具體實施例中,利用分析每一節點內組件的特性,並且比較每一個該等節點302A-I的整體 處理速度,可決定DAG 300內節點302A-I的位置(包括哪個節點指向哪個節點)。
此外,如所示,有向邊緣312從對應至該個人電腦參數變化的較慢獨一組合之節點,指向對應至該個人電腦參數變化的明顯較快獨一組合之節點。如此,底部節點302I對應至該個人電腦參數變化的最快獨一組合,而頂端節點302A對應至該個人電腦參數變化的最慢獨一組合。
進一步在一具體實施例中,可識別參數變數的初始組合。例如:可從該個人電腦接收決定安裝在一個人電腦內的參數變化之計算組合。在一具體實施例中,參數變化的已識別組合可與DAG 300內的節點302E匹配。例如:該參數變化的已識別組合可匹配節點302E所對應的參數變化組合。
仍舊進一步,在一具體實施例中,可決定包括節點302A、B、C和D的第一節點子集絕對比節點302E慢或相等。例如:節點302A、B和C都通過有向頂點直接或間接指向節點302E,結果節點302A、B和C都絕對比302E慢。在另一個範例中,決定節點302D在速度上比302E慢或相等。
另外,在一具體實施例中,可決定包括節點302F、G、H和I的第二節點子集絕對比節點302E快或相等。例如:都通過有向頂點直接或間接由節點302E指向節點302G、H和I,結果節點302G、H和I都絕對比302E快。在另一個範例中,決定節點302F在速度上比302E快或相等。
此外,在一具體實施例中,可決定在已知特定預定設定下,節點302D所代表的該等參數可用一預定訊框率在節點302A、B、C和D的第一子集內產生一最大輸出。在另一具體實施例中,該節點302D的這些特定預定設定可設定為地板設定。在又一具體實施例中,可決定在已知特定預定設定下,節點302F所代表的該等參數可用一預定訊框率在節點302F、G、H和I的第二子集內產生一最小輸出。在另一具體實施例中,該節點302F的這些特定預定設定可設定為天花板設定。
進一步在一具體實施例中,可決定參數變化初始組合的最佳可播放設定,其中該等地板設定與該等天花板設定指定在決策期間要測試 的設定範圍。如此,利用來自DAG 300內相鄰節點的結果,可迅速收斂DAG 300內一節點的精確設定決策。
第四圖說明其中可實施許多先前具體實施例的許多架構及/或功能性之示範系統400。如所示,提供的系統400包括至少一個主處理器401,其連接至通訊匯流排402。系統400也包括主記憶體404。控制邏輯(軟體)以及資料都儲存在主記憶體404內,此記憶體可採用隨機存取記憶體(RAM,random access memory)。
系統400也包括圖形處理器406和顯示器408,即是電腦監視器。在一具體實施例中,圖形處理器406可包括複數個著色器模組(shader module)以及一個柵格化模組(rasterization module)等等。每一前述模組都適合在單一半導體平台上形成圖形處理單元(GPU,graphics processing unit)。
在本說明當中,單一半導體平台可稱為單體半導體式積體電路或晶片。吾人應該注意,單一半導體平台一詞也表示多晶片模組,其具備提高的連線性來模擬晶片上運算,並且運用傳統中央處理單元(CPU,central processing unit)和匯流排做大幅改善。當然,依照使用者的意願,許多模組也可分開或與半導體平台進行許多結合。
系統400也包括次要儲存器410。次要儲存器410包括例如:硬碟機及/或可移除式儲存裝置,像是軟碟機、磁帶機、光碟機等等。可移除式儲存裝置用已知的方式讀取及/或寫入可移除式儲存單元。
電腦程式(或電腦控制邏輯演算法)可儲存在主記憶體404及/或次要儲存器410內,這種電腦程式在執行時可讓系統400執行許多功能。記憶體404、儲存器410及/或任何其他儲存器都可為電腦可讀取媒體的範例。
在一具體實施例中,許多先前附圖的架構及/或功能性都可在由主處理器401、圖形處理器406、積體電路(未顯示,可具有至少部分主處理器401和圖形處理器406的能力)、晶片組(即是設計成以執行相關功能的一單元來運作及銷售之積體電路群組)及/或其他任何積體電路所構成結構內實施。
仍舊是,許多先前附圖的架構及/或功能性都可存一般電腦 系統、電路板系統、娛樂專用遊戲控制台系統、應用專屬系統及/或其他任何所要系統的範圍內實施。例如:系統400可為桌上型電腦、膝上型電腦及/或其他任何邏輯類型。仍舊是,系統400可為許多其他裝置的形式,包括但不受限於個人數位助理(PDA,personal digital assistant)裝置、行動電話裝置、電視等等。
進一步,雖然未顯示,系統400可連結至網路(例如通訊網路、區域網路(LAN,local area network)、無線網路、廣域網路(WAN,wide area network),像是網際網路、點對點網路、有線電視網路等等)用來通訊。
當上面已說明許多具體實施例時,必須了解到它們係僅藉由範例來呈現,並非構成限制。因此,較佳具體實施例之廣度及範疇並不侷限於上述任何示範性具體實施例,而應僅根據以下的申請專利範圍及其等效內容來定義。

Claims (16)

  1. 一種計算一裝置設定的方法,包含:識別與一裝置相關聯的複數個參數,包括安裝於該裝置內硬體及軟體的描述;建立包括複數個節點的一有向無環圖(DAG,directed acyclic graph),其中每個節點代表與該裝置相關聯的複數個參數變化之一獨一變化,以及其中該DAG的至少一節點藉由二或多個該DAG的額外節點被直接指向;針對該複數個節點中的每一個節點,決定關聯於該節點的一速度,其中該速度是根據該節點所代表的該參數來決定;根據關聯於每個節點的該速度引導該DAG內的複數個節點;以及運用被包括在該DAG內的複數個節點,計算用於該裝置的一或多個設定。
  2. 如申請專利範圍第1項之方法,其中決定該等一或多個限制包含識別該DAG內,對應至與該裝置相關聯的該等已識別複數個參數之一節點。
  3. 如申請專利範圍第2項之方法,其中決定該等一或多個限制包含決定該DAG內節點的一第一子集,其在整體速度與效能方面絕對比該已識別節點還要慢或相等。
  4. 如申請專利範圍第2項之方法,其中決定該等一或多個限制包含決定該DAG內節點的一第二子集,其在整體速度與效能方面絕對比該已識別節點還要快或相等。
  5. 如申請專利範圍第3項之方法,其中決定該等一或多個限制包含計算出該節點第一子集可能產生的一最大輸出。
  6. 如申請專利範圍第5項之方法,其中該節點的第一子集之該最大輸出,包含針對一特定條件,能夠由該第一子集內該等節點處理以及輸出的一最高畫質。
  7. 如申請專利範圍第5項之方法,其中一或多個設定與該節點第一子集可能產生的一最大輸出相關聯。
  8. 如申請專利範圍第4項之方法,其中決定該等一或多個限制包含計算出 該節點第二子集不可能產生的一最小輸出。
  9. 如申請專利範圍第8項之方法,其中該節點的第二子集之該最小輸出,包含針對一特定條件,無法由該第二子集內該等節點處理以及輸出的一最低畫質。
  10. 如申請專利範圍第8項之方法,其中一或多個設定與該節點第二子集不可能產生的一最小輸出相關聯。
  11. 如申請專利範圍第1項之方法,其中針對該裝置計算的該等一或多個設定,包含與該裝置相關聯的一或多個該等複數個參數之預先定義之設定。
  12. 如申請專利範圍第5項之方法,其中計算該裝置的該等一或多個設定時,該等一或多個限制包含與該節點第一子集的該最大輸出相關聯之該等一或多個預定設定,其可指定為最小可能設定。
  13. 如申請專利範圍第8項之方法,其中計算該裝置的該等一或多個設定時,該等一或多個限制包含與該節點第二子集的該最小輸出相關聯之該等一或多個預定設定,其可指定為最大可能設定。
  14. 一種在一電腦可讀取媒體上具體實施之電腦程式商品,其包含節點,用於:識別與一裝置相關聯的複數個參數,包括該裝置內所安裝硬體及軟體的描述;建立包括複數個節點的一有向無環圖(DAG,directed acyclic graph),其中每個節點代表與該裝置相關聯的複數個參數變化之一獨一變化,以及其中該DAG的至少一節點藉由二或多個該DAG的額外節點被直接指向;針對該複數個節點中的每一個節點,決定關聯於該節點的一速度,其中該速度是根據該節點所代表的該參數來決定;根據關聯於每個節點的該速度引導該DAG內的複數個節點;以及運用被包括在該DAG內的複數個節點,計算用於該裝置的一或多個設定。
  15. 一種計算一裝置設定的系統,包含: 一處理器,用於:識別與一裝置相關聯的複數個參數,包括該裝置內所安裝硬體及軟體的描述;建立包括複數個節點的一有向無環圖(DAG,directed acyclic graph),其中每個節點代表與該裝置相關聯的複數個參數變化之一獨一變化,以及其中該DAG的至少一節點藉由二或多個該DAG的額外節點被直接指向;針對該複數個節點中的每一個節點,決定關聯於該節點的一速度,其中該速度是根據該節點所代表的該參數來決定;根據關聯於每個節點的該速度引導該DAG內的複數個節點;以及運用被包括在該DAG內的複數個節點,計算用於該裝置的一或多個設定。
  16. 如申請專利範圍第15項之系統,其中該處理器透過一匯流排耦合至記憶體。
TW102123502A 2012-07-06 2013-07-01 運用一或多個限制計算一裝置設定的系統、方法和電腦程式商品 TWI515671B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/543,212 US9250931B2 (en) 2012-07-06 2012-07-06 System, method, and computer program product for calculating settings for a device, utilizing one or more constraints

Publications (2)

Publication Number Publication Date
TW201417003A TW201417003A (zh) 2014-05-01
TWI515671B true TWI515671B (zh) 2016-01-01

Family

ID=49780841

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102123502A TWI515671B (zh) 2012-07-06 2013-07-01 運用一或多個限制計算一裝置設定的系統、方法和電腦程式商品

Country Status (4)

Country Link
US (1) US9250931B2 (zh)
CN (1) CN103605500B (zh)
DE (1) DE102013213094B4 (zh)
TW (1) TWI515671B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275377B2 (en) 2012-06-15 2016-03-01 Nvidia Corporation System, method, and computer program product for determining a monotonic set of presets
US10668386B2 (en) 2012-07-06 2020-06-02 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US10509658B2 (en) 2012-07-06 2019-12-17 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9286247B2 (en) 2012-07-06 2016-03-15 Nvidia Corporation System, method, and computer program product for determining settings for a device by utilizing a directed acyclic graph containing a plurality of directed nodes each with an associated speed and image quality
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
US9201670B2 (en) 2012-07-06 2015-12-01 Nvidia Corporation System, method, and computer program product for determining whether parameter configurations meet predetermined criteria
JP6102947B2 (ja) * 2012-12-28 2017-03-29 富士通株式会社 画像処理装置及び特徴検出方法
US10492691B2 (en) * 2015-08-31 2019-12-03 Massachusetts Institute Of Technology Systems and methods for tissue stiffness measurements
JP7006184B2 (ja) * 2017-11-27 2022-01-24 富士通株式会社 制御プログラム、制御方法および制御装置

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1586705A (zh) 1968-09-19 1970-02-27
US5086386A (en) 1990-03-23 1992-02-04 Sun Microsystems, Inc. Method and apparatus for benchmarking the working set of window-based computer systems
US5388841A (en) 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
US5671351A (en) 1995-04-13 1997-09-23 Texas Instruments Incorporated System and method for automated testing and monitoring of software applications
TW292365B (en) 1995-05-31 1996-12-01 Hitachi Ltd Computer management system
US7163588B2 (en) 1997-05-09 2007-01-16 Semitool, Inc. Processing a workpiece using water, a base, and ozone
US5987624A (en) 1997-06-10 1999-11-16 Paradise Electronics, Inc. Method and apparatus for automatically determining signal parameters of an analog display signal received by a display unit of a computer system
US5958058A (en) 1997-07-18 1999-09-28 Micron Electronics, Inc. User-selectable power management interface with application threshold warnings
US6314479B1 (en) 1997-08-04 2001-11-06 Compaq Computer Corporation Universal multi-pin plug and display connector for standardizing signals transmitted between a computer and a display for a PC theatre interconnectivity system
US6059842A (en) * 1998-04-14 2000-05-09 International Business Machines Corp. System and method for optimizing computer software and hardware
US6725260B1 (en) 1998-09-11 2004-04-20 L.V. Partners, L.P. Method and apparatus for configuring configurable equipment with configuration information received from a remote location
US6847358B1 (en) 1999-08-06 2005-01-25 Microsoft Corporation Workstation for processing and producing a video signal
US6850973B1 (en) 1999-09-29 2005-02-01 Fisher-Rosemount Systems, Inc. Downloadable code in a distributed process control system
JP4470259B2 (ja) 2000-01-27 2010-06-02 ソニー株式会社 映像処理装置
US6654952B1 (en) 2000-02-03 2003-11-25 Sun Microsystems, Inc. Region based optimizations using data dependence graphs
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6753881B1 (en) 2000-11-01 2004-06-22 Ati International Srl Adapter and method to connect a component video input television to a video providing unit
CA2431209A1 (en) * 2000-12-08 2002-06-13 Configit Software A/S A method of configuring a product using a directed acyclic graph
KR100520058B1 (ko) 2000-12-13 2005-10-11 삼성전자주식회사 디바이스드라이버 업그레이드 시스템 및 디바이스드라이버업그레이드 방법
US7076536B2 (en) 2000-12-21 2006-07-11 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier
US7080247B2 (en) 2000-12-22 2006-07-18 Evga Corporation System and method for automated display driver management
US7165109B2 (en) 2001-01-12 2007-01-16 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
US6901580B2 (en) 2001-06-22 2005-05-31 Intel Corporation Configuration parameter sequencing and sequencer
WO2003009104A2 (en) 2001-07-19 2003-01-30 Adhikari Technology, Inc. Business valuation system and method
US6941450B2 (en) * 2001-07-30 2005-09-06 International Business Machines Corporation System and method for identifying one or more optimum configurations of a data processing system
US20030033519A1 (en) 2001-08-13 2003-02-13 Tippingpoint Technologies,Inc. System and method for programming network nodes
JP2003076619A (ja) 2001-08-31 2003-03-14 Allied Tereshisu Kk 通信処理装置、管理装置、プログラム及び通信システム
US7320142B1 (en) 2001-11-09 2008-01-15 Cisco Technology, Inc. Method and system for configurable network intrusion detection
US20030140333A1 (en) 2001-12-20 2003-07-24 Hitachi, Ltd. Integration of computer system components
US20050120208A1 (en) 2002-01-25 2005-06-02 Albert Dobson Robert W. Data transmission systems
US7299382B2 (en) 2002-04-29 2007-11-20 Sun Microsystems, Inc. System and method for automatic test case generation
US7577951B2 (en) 2002-05-30 2009-08-18 Hewlett-Packard Development Company, L.P. Performance of computer programs while they are running
US7293201B2 (en) 2003-01-17 2007-11-06 Microsoft Corporation System and method for active diagnosis and self healing of software systems
US7584467B2 (en) 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
US7359562B2 (en) 2003-03-19 2008-04-15 Mitsubishi Electric Research Laboratories, Inc. Enhancing low quality videos of illuminated scenes
JP2006523343A (ja) 2003-03-19 2006-10-12 ニック ソフトウエア インク ディジタル画像の選択的エンハンスメント
US20040212610A1 (en) 2003-04-25 2004-10-28 Dell Products L.P. Method and apparatus for associating display configuration information with respective displays of an information handling system
US7181376B2 (en) 2003-06-03 2007-02-20 International Business Machines Corporation Apparatus and method for coverage directed test
US8392879B2 (en) 2003-10-06 2013-03-05 National Instruments Corporation Parameter assistant for automatically specifying parameter values for a software program
US7369159B2 (en) 2004-03-17 2008-05-06 Rgb Systems, Inc. Method and apparatus for dynamically testing video equipment
US7626944B1 (en) 2004-03-31 2009-12-01 Packeteer, Inc. Methods, apparatuses and systems facilitating remote, automated deployment of network devices
CN100371917C (zh) 2004-09-22 2008-02-27 宏正自动科技股份有限公司 内建于硬件装置的驱动程序的安装方法
US7627537B2 (en) 2004-10-28 2009-12-01 Intel Corporation Score result reuse for Bayesian network structure learning
US7603445B1 (en) 2004-11-10 2009-10-13 Juniper Networks, Inc. Managing and changing device settings
US7450084B2 (en) 2004-12-17 2008-11-11 Microsoft Corporation System and method for managing computer monitor configurations
US7561161B2 (en) 2005-01-28 2009-07-14 Microsoft Corporation Quantitative measure of a video interface
CN1889162A (zh) 2005-07-02 2007-01-03 群康科技(深圳)有限公司 液晶显示器韧体更新系统及方法
US7648460B2 (en) 2005-08-31 2010-01-19 Siemens Medical Solutions Usa, Inc. Medical diagnostic imaging optimization based on anatomy recognition
US20070066403A1 (en) 2005-09-20 2007-03-22 Conkwright George C Method for dynamically adjusting an interactive application such as a videogame based on continuing assessments of user capability
US7840915B2 (en) 2006-02-01 2010-11-23 The Trustees Of Columbia University In The City Of New York Methods and media for forming a bound network
JP4218766B2 (ja) 2006-03-09 2009-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーション シナリオをテストする方法、装置、及びプログラム
JP2007310245A (ja) 2006-05-19 2007-11-29 Eastman Kodak Co ドライバ回路
US7689954B2 (en) 2006-05-25 2010-03-30 Wisconsin Alumni Research Foundation Efficient statistical timing analysis of circuits
US20080005611A1 (en) 2006-05-31 2008-01-03 Microsoft Corporation Providing A Restore Operating System With New Or Updated Software Components
US7659897B1 (en) 2006-06-30 2010-02-09 Nvidia Corporation System, method, and computer program product for video benchmarking
US20080072077A1 (en) 2006-08-24 2008-03-20 Ati Technologies Inc. Notification of Revocation in a Device Offering Secure Playback of Content
US8292741B2 (en) 2006-10-26 2012-10-23 Cfph, Llc Apparatus, processes and articles for facilitating mobile gaming
JP5386984B2 (ja) 2006-11-07 2014-01-15 ソニー株式会社 送信装置、送信装置における映像信号送信方法、受信装置および受信装置における映像信号受信方法
US20080133067A1 (en) 2006-11-30 2008-06-05 Demay Rod Vehicle monitoring system
US9522332B2 (en) 2006-12-13 2016-12-20 Voodoo Gaming Llc Video games including real-life attributes and/or fantasy team settings
US20080242423A1 (en) 2007-03-27 2008-10-02 Shelford Securities, S.A. Real-money online multi-player trivia system, methods of operation, and storage medium
EP2151128A4 (en) 2007-04-25 2011-11-16 Miovision Technologies Inc METHOD AND SYSTEM FOR ANALYZING MULTIMEDIA CONTENT
US8312389B2 (en) 2007-08-31 2012-11-13 Fair Isaac Corporation Visualization of decision logic
US7942315B2 (en) 2007-09-05 2011-05-17 Ncr Corporation Self-service terminal
US20090069084A1 (en) 2007-09-12 2009-03-12 Reece Alex D System and Methods for Monitoring and Controlling the Actions of an Avatar in a Virtual Environment
US8463641B2 (en) 2007-10-05 2013-06-11 The Boeing Company Method and system using linear programming for estimating test costs for bayesian diagnostic models
US8296781B1 (en) 2007-12-11 2012-10-23 Nvidia Corporation System, method, and computer program product for determining application parameters based on hardware specifications
US8276133B1 (en) 2007-12-11 2012-09-25 Nvidia Corporation System, method, and computer program product for determining a plurality of application settings utilizing a mathematical function
US8280864B1 (en) 2007-12-17 2012-10-02 Nvidia Corporation System, method, and computer program product for retrieving presentation settings from a database
CN101303672B (zh) 2008-03-25 2011-07-20 杭州赛利科技有限公司 电脑多路输入输出命令操作系统、输入设备及运行方法
TWI453596B (zh) 2008-10-23 2014-09-21 Micro Star Int Co Ltd 輸出bios偵錯碼的裝置與方法
US20100162201A1 (en) 2008-12-18 2010-06-24 Sap Ag Automated multi-platform configuration tool for master data management systems using secure shell protocol
US8171343B2 (en) 2009-06-16 2012-05-01 Oracle International Corporation Techniques for determining models for performing diagnostics
TW201205427A (en) 2010-07-22 2012-02-01 Hon Hai Prec Ind Co Ltd System and method for adjusting the display parameters automatically
US8787392B2 (en) 2010-12-17 2014-07-22 Cisco Technology, Inc. Dynamic routing metric adjustment
CA2774575A1 (en) 2011-04-19 2012-10-19 Monoidics Ltd. System and method for display of software quality
US9275377B2 (en) 2012-06-15 2016-03-01 Nvidia Corporation System, method, and computer program product for determining a monotonic set of presets
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
US9201670B2 (en) 2012-07-06 2015-12-01 Nvidia Corporation System, method, and computer program product for determining whether parameter configurations meet predetermined criteria
US10509658B2 (en) 2012-07-06 2019-12-17 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US10668386B2 (en) 2012-07-06 2020-06-02 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9286247B2 (en) 2012-07-06 2016-03-15 Nvidia Corporation System, method, and computer program product for determining settings for a device by utilizing a directed acyclic graph containing a plurality of directed nodes each with an associated speed and image quality

Also Published As

Publication number Publication date
US9250931B2 (en) 2016-02-02
TW201417003A (zh) 2014-05-01
DE102013213094A1 (de) 2014-01-09
US20140009470A1 (en) 2014-01-09
CN103605500B (zh) 2017-04-12
DE102013213094B4 (de) 2021-07-01
CN103605500A (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
TWI515671B (zh) 運用一或多個限制計算一裝置設定的系統、方法和電腦程式商品
TWI537868B (zh) 同時決定複數個參數變化設定的系統、方法和電腦程式商品
TWI489269B (zh) 測試裝置參數的系統、方法和電腦程式產品
CN101609545B (zh) 性能分配方法和装置
US11351463B2 (en) System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
TWI518509B (zh) 決定裝置設定的系統、方法和電腦程式產品
TWI512670B (zh) 決定參數設定是否符合預設標準的系統、方法和電腦程式商品
CN101896940B (zh) 用于硬件资源的动态配置的框架
JP4384242B1 (ja) 情報処理装置および画像処理方法
CN106575158A (zh) 环境映射虚拟化机构
CN107004292A (zh) 使用高速缓存的纹理空间模糊的运动模糊
JP6364066B2 (ja) 複数のプリミティブを使用するグラフィック処理
TWI401613B (zh) 防止顯示儲存在訊框緩衝器中多餘內容之系統、方法與電腦程式產品
US20180307455A1 (en) Automatic real-time configuration of a multi-head display system
US20220334638A1 (en) Systems, apparatus, articles of manufacture, and methods for eye gaze correction in camera image streams
US8687011B2 (en) Techniques for efficient sampling for image effects
US20220334888A1 (en) Methods and apparatus to synchronize threads
US20220286361A1 (en) Methods and apparatus to perform computer-based community detection in a network
US20150106525A1 (en) Distribution of applications over a dispersed network
US11682100B2 (en) Dynamic allocation of system of chip resources for efficient signal processing
Mills et al. A plug-loads game changer: Computer gaming energy efficiency without performance compromise
Bourassa et al. Green Gaming: Energy Efficiency without Performance Compromise
CN116501217A (zh) 视觉数据处理方法、装置、计算机设备及可读存储介质
KR20230050127A (ko) 디스플레이 장치 및 그 동작방법