TWI512670B - 決定參數設定是否符合預設標準的系統、方法和電腦程式商品 - Google Patents

決定參數設定是否符合預設標準的系統、方法和電腦程式商品 Download PDF

Info

Publication number
TWI512670B
TWI512670B TW102123499A TW102123499A TWI512670B TW I512670 B TWI512670 B TW I512670B TW 102123499 A TW102123499 A TW 102123499A TW 102123499 A TW102123499 A TW 102123499A TW I512670 B TWI512670 B TW I512670B
Authority
TW
Taiwan
Prior art keywords
node
dag
score
nodes
condition
Prior art date
Application number
TW102123499A
Other languages
English (en)
Other versions
TW201415407A (zh
Inventor
John F Spitzer
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of TW201415407A publication Critical patent/TW201415407A/zh
Application granted granted Critical
Publication of TWI512670B publication Critical patent/TWI512670B/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

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)
  • Debugging And Monitoring (AREA)

Description

決定參數設定是否符合預設標準的系統、方法和電腦程式商品
本發明係關於參數分析,更具體的係關於決定參數組態是否滿足預定條件。
現今許多產品都包括會影響到該產品整體使用經驗的一或多個參數,例如:電腦遊戲以及其他軟體可具有許多決定渲染、音頻、遊戲遊玩等等品質的參數。不過,當前安排與這些產品相關聯的該等參數之技術具有許多限制。
例如:不同的參數設置就必須單獨測試,以便了解這些參數是否滿足預定條件。這可改善時間與資源強度。因此需要解決先前技術所伴隨的這些與其他問題。
本發明揭示一種用於決定參數設置是否滿足預定條件的系統、方法和電腦程式商品。在運用中,已識別與一軟體元件相關聯的預定條件。此外,運用一有向無環圖(DAG,directed acyclic graph),決定複數個不同參數設置的每一者是否滿足該條件。
100‧‧‧方法
102‧‧‧操作
104‧‧‧操作
200‧‧‧DAG
202A-I‧‧‧節點
202A‧‧‧頂端節點
202I‧‧‧底部節點
204‧‧‧第一集合
206A-C‧‧‧變化
206A‧‧‧第一節點
206B‧‧‧第二節點
206C‧‧‧第三節點
208‧‧‧第二集合
210A-C‧‧‧變化
212‧‧‧有向邊緣
300‧‧‧DAG
302A‧‧‧第一節點
302B,C,D‧‧‧額外節點
302E‧‧‧第二節點
302F-J‧‧‧額外節點
302K‧‧‧第三節點
302L‧‧‧額外節點
302M‧‧‧第四節點
302N,O‧‧‧額外節點
302P‧‧‧第五節點
302Q‧‧‧額外節點
302R‧‧‧第六節點
400‧‧‧示範系統
401‧‧‧主處理器
402‧‧‧通訊匯流排
404‧‧‧主記憶體
406‧‧‧圖形處理器
408‧‧‧顯示器
410‧‧‧次要儲存器
第一圖顯示根據一具體實施例,用於決定參數設置是否滿足預定條件之方法。
第二圖例示根據另一具體實施例的一示範參數DAG。
第三A圖至第三G圖顯示根據另一具體實施例運用一DAG的節點測試。
第四圖說明其中可實施許多先前具體實施例的許多架構及/或功能性之示範系統。
第一圖顯示根據一具體實施例,用於決定參數設置是否滿足預定條件之方法100。如操作102所示,已識別與一軟體元件相關聯的預定條件。在一具體實施例中,該軟體元件可包括一軟體應用程式(例如一程式等等),例如:該軟體元件可包括一視訊遊戲、一電子郵件用戶端、一視訊播放程式等等。
此外,在一具體實施例中,該預定條件可與執行該軟體元件的複數個預定參數之能力相關聯。在另一具體實施例中,複數個參數可包括一裝置(例如像是桌上型電腦、膝上型電腦、平板電腦、個人數位助理、行動電話等等)的任何特性。例如:複數個參數可包括該裝置內安裝的硬體(例如一中央處理單元(CPU,central processing unit)、一圖形處理單元(GPU,graphics processing unit)、隨機存取記憶體(RAM,random access memory)、一主機板、一顯示器、一解析度等等)、該裝置內安裝的軟體(例如一作業系統、驅動程式等等)等等。
進一步在一具體實施例中,該等複數個參數之一或多者都可獨立設置。例如:每一該等複數個參數都可與其他參數分別變更。在另一具體實施例中,該裝置可運用每一該等複數個參數,以執行一或多個動作。例如:該裝置可運用每一該等複數個參數,以運行該裝置上的該軟體元件。
仍舊進一步在一具體實施例中,該預定條件可包括複數個預定參數以一預定訊框率(例如每秒訊框等等)運行該軟體元件的能力。在另一具體實施例中,該預定條件可包括在一特定設定等級上(例如一最小設定等級、一最大設定等級、一中間設定等級等等)複數個預定參數運行該軟體元件,同時維持一預定訊框率的能力。
例如:已知複數個預定參數可存在不同的變化,並且可針對每一變化決定複數個設定等級,以及指派給每一變化。在一具體實施例中,利用計算該等複數個預定參數的每一變化之預設單一集合,可決定該等複數個設定等級。例如:請參閱[NVIDP695],在此完整併入當成參考,並且 其說明根據複數個參數用於決定預設單一集合的示範方法。此外,該預定條件可包括在預設的單一集合之一或多個預設上複數個預定參數組態運行該軟體元件,同時維持一特定訊框率之能力。
在其他具體實施例內,該等設定可關聯於根據與該裝置相關聯的複數個可能參數,已決定的一或多個參數。例如:請參閱[NVIDP541],在此完整併入當成參考,並且其說明根據硬體規格用於決定應用程式參數的示範方法。
另外,如操作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內具有最高分數的一節點,其中該節點具有可受與該條件相關聯的節點上所做決定影響之最高預期額外節點數。
另外,在一具體實施例中,決定複數個不同參數設置的每一者是否滿足該條件可包括決定在該DAG內已決定具有已計算分數中最高分數的該節點是否滿足該條件。例如:該節點所代表裝置參數的組合可經過測試,以決定這些參數是否能以預定訊框率在該軟體元件上運行。在另一個範例中,該節點所代表裝置參數的組合可經過測試,以決定這些參數是否能以預定訊框率在一特定設定等級上於該軟體元件上運行。
此外,在一具體實施例中,決定複數個不同參數設置的每一個是否滿足該條件可包括識別該DAG內與已決定具有最高分數的該節點相關之所有節點(例如該DAG內可受該DAG內決定具有所計算分數中最高分數的該節點是否滿足該條件之決策所影響的所有節點)。在另一具體實施例中,決定複數個不同參數設置的每一者是否滿足該條件可包括改變相關節點部分,以回應在該DAG內已決定具有已計算分數中最高分數的該節點 是否滿足該條件之決策。
例如:若已決定具有最高分數的該節點未滿足該條件(例如該節點所代表的該等裝置參數無法以該預定訊框率在該軟體元件上運行等等),則也可決定已決定明顯慢於該DAG內該節點的所有節點未滿足該條件。在另一具體實施例中,可記錄已決定未滿足該條件的所有節點(例如利用旗標標記該等節點、利用建立該等節點的清單等等)。
在另一個範例中,若已決定具有最高分數的該節點滿足該條件(例如該節點所代表的該等裝置參數可以該預定訊框率在該軟體元件上運行等等),則也可決定已決定明顯快於該DAG內該節點的所有節點滿足該條件。在另一具體實施例中,可記錄已決定滿足該條件的所有節點(例如利用旗標標記該等節點、利用建立該等節點的清單等等)。在又一具體實施例中,已決定滿足或不滿足該條件的所有節點都可識別為已造訪(例如利用將與該等節點相關聯的一位元(例如一「已造訪」位元等等)改變成「真」等等)。
進一步在一具體實施例中,決定複數個不同參數設置的每一者是否滿足該條件可包括計算該DAG內每一未造訪節點的後續分數,並且決定該DAG內具有最高後續分數的一未造訪節點。例如:可決定該DAG內具有最高分數並且「已造訪」位元標示為「偽」的一節點,其中該節點具有可受與該條件相關聯的節點上所做決定影響之最高預期額外節點數。
仍舊進一步在一具體實施例中,決定複數個不同參數設置的每一者是否滿足該條件可包括決定該DAG內與已決定具有最高分數的該未造訪節點相關之該等未造訪節點。在另一具體實施例中,決定複數個不同參數設置的每一者是否滿足該條件可包括改變該等相關未造訪節點部分,以回應在該DAG內已決定具有已計算分數中最高分數的該未造訪節點是否滿足該條件之決策。
另外,在一具體實施例中,後續分數的計算、該DAG內具有已計算後續分數中最高分數的一未造訪節點之識別、決定該DAG內關於已決定具有最高分數的該未造訪節點之所有未造訪節點,以及改變相關未造訪節點的部分,以回應該DAG內已決定具有最高分數的該未造訪節點是否滿足該條件之決策可重複運用貪婪演算法(greedy algorithm),直到該DAG 內具有「已造訪」位元的所有節點都標示為「真」。
此外,在一具體實施例中,以與一或多個其他軟體元件(例如決定類似於當前軟體元件的一或多個軟體元件等等)相關聯條件所獲得之通過結果可與稍後決策關聯,來決定測試哪個節點。例如:包括關聯於該等節點的早先測試以及早先決定具有所選節點中最高分數的節點之歷史,可用來決定要測試的最佳節點,而不是該DAG內決定具有所計算分數中最高分數的該節點。如此,在決定該DAG內是否所有該等節點都滿足該條件時,只需測試最少數量的節點。
此時將公佈有關許多選擇架構和功能,如此可依照使用者意願實施或不實施前述結構之更多說明資訊。吾人應該特別注意,下列資訊僅供說明,不應解釋為以任何方式進行限制。下列任何功能都可在排除或不排除所說明其他功能之下選擇性併入。
第二圖例示根據另一具體實施例的一示範參數DAG 200。選擇性,可在第一圖功能性範圍內實施示範參數DAG 200。不過,當然示範參數DAG 200可在任何所要的環境內實施。吾人也應該注意,在目前說明當中也適用前述定義。
如所示,示範參數DAG 200包括複數個節點202A-I,這每一都對應至個人電腦內一第一組件(例如一CPU類型等等)的變化206A-C之第一集合204,以及個人電腦內一第二組件(例如一GPU類型等等)的變化210A-C之第二集合208。在一具體實施例中,DAG 200可包括一有向圖,其具有由節點202A-I的集合所形成之無向循環(例如頂點等等)以及複數個有向邊緣212,如此無法從該DAG 200內任何節點開始,並且跟著最終再次回到開始節點的一序列邊緣。
此外,根據處理速度來引導該第一組件的變化206A-C之第一集合204以及該第二組件的變化210A-C之第二集合208內的該等節點,用較慢的節點指向較快的節點。如此,第一節點206A為第一集合204內最慢的節點、第二節點206B比第一集合204內的第一節點206A快但是比第三節點206C慢,並且第三節點206C為第一集合204內最快的節點。
在一具體實施例中,運用一或多個演算法、標準測試、製造 商公佈等等可決定每一個該等節點202A-I的速度。在另一具體實施例中,利用分析每一節點內組件的特性,並且比較每一個該等節點202A-I的整體處理速度,可決定DAG 200內節點202A-I的位置(包括哪個節點指向哪個節點)。
此外,如所示,有向邊緣212從對應至該個人電腦參數變化的較慢獨一組合之節點,指向對應至該個人電腦參數變化的明顯較快獨一組合之節點。如此,底部節點202I對應至該個人電腦參數變化的最快獨一組合,而頂端節點202A對應至該個人電腦參數變化的最慢獨一組合。
第三A圖至第三G圖顯示根據另一具體實施例運用一DAG 300的節點測試。選擇性,可在第一圖至第二圖功能性範圍內實施運用DAG 300的該節點測試。不過,當然運用DAG 300的該節點測試可在任何所要的環境內實施。吾人也應該注意,在目前說明當中也適用前述定義。
如第三A圖所示,針對DAG 300內每一節點,可決定一分數,該分數與可受與預定條件相關聯的節點上所做決定影響之預期額外節點數相關聯。在一具體實施例中,針對每一節點,與該節點相關聯的該分數可關聯於直接或間接指向該節點的節點數量,以及由該節點直接或間接指向的節點數量。
在另一具體實施例中,可針對該DAG內每一節點決定一分數,以回應針對該預定條件測試DAG 300內每一節點之要求。例如:可針對該DAG內每一節點決定一分數,以回應DAG 300內每一節點所代表的該等組件變化是否可用一預定訊框率顯示一預定畫質同時運行一特定應用程式之測試要求。
此外,在一具體實施例中,運用一演算法可決定每一節點的分數。表1例示用於決定一DAG內一節點分數之示範演算法。當然應該注意,表1內顯示的演算法僅供說明,不應解釋為以任何方式進行限制。
此外,如第三A圖所示,已決定第一節點302A具有DAG 300內所有該等節點的最高分數。此外,吾人決定第一節點302A是否滿足該預定條件。例如:可測試第一節點302A(例如運用一或多種標準測試等等),來決定節點302A所代表的該組件變化是否可用一預定訊框率顯示一預定畫質,同時運行一特定應用程式。
進一步,如第三B圖所示,吾人決定第一節點302A已滿足該預定條件。例如:可決定第一節點302A所代表的該組件變化可用一預定訊框率顯示一預定畫質,同時運行一特定應用程式。結果,第一節點302A標示為「真」,指出第一節點302A已滿足該條件,並且已在DAG 300內考量到第一節點302A。
仍舊進一步,已根據在DAG 300內的位置,決定額外節點302B、C和D絕對快於第一節點302A。例如:因為第一節點302A直接或間接指向額外節點302B、C和D,因此這三者絕對都快於第一節點302A。另外,決定額外節點302B、C和D絕對快於第一節點302A也標示為「真」,指出額外節點302B、C和D滿足該條件,並且已在DAG 300內考量到額外節點302B、C和D。
此外,如第三C圖所示,針對DAG 300內尚未考量的每一節點,可決定一更新的分數,其中該分數與可受與預定條件相關聯的節點上所做決定影響之預期額外未考量節點數相關聯。此外,在決定該等未考量節點的該更新分數之後,決定一第二節點302E具有DAG 300內尚未考量的所有節點之最高分數。例如:可識別DAG 300內尚未標示為「真」或「偽」的所有節點集合,並且從該集合當中可識別具有最高分數的該節點。
此外,吾人決定第二節點302E是否滿足該預定條件。例如:可測試第二節點302E(例如運用一或多種標準測試等等),來決定第二節點302E所代表的該組件變化可用一預定訊框率顯示一預定畫質,同時運行一特定應用程式。
進一步,吾人決定第二節點302E並未滿足該預定條件。例如:可決定第二節點302E所代表的該組件變化不可用一預定訊框率顯示一 預定畫質,同時運行一特定應用程式。結果,第二節點302E標示為「偽」,指出第二節點302E並未滿足該條件,並且已在DAG 300內考量到第二節點302E。
仍舊進一步,已根據在DAG 300內的位置,決定額外節點302F-J絕對慢於第二節點302E。例如:因為額外節點302F-J直接或間接指向第二節點302E,因此這三者絕對都慢於第一節點302A。另外,決定額外節點302F-J絕對慢於第二節點302E也標示為「偽」,指出額外節點302F-J並未滿足該條件,並且已在DAG 300內考量到額外節點302F-J。
此外,如第三D圖所示,針對DAG 300內尚未考量的每一節點,可決定一更新的分數,其中該分數與可受與預定條件相關聯的節點上所做決定影響之預期額外未考量節點數相關聯。此外,在決定該等未考量節點的該更新分數之後,決定一第三節點302K具有DAG 300內尚未考量的所有節點之最高分數。
此外,吾人決定第三節點302K是否滿足該預定條件。進一步,吾人決定第三節點302K已滿足該預定條件。例如:可決定第三節點302K所代表的該組件變化可用一預定訊框率顯示一預定畫質,同時運行一特定應用程式。結果,第三節點302K標示為「真」,指出第三節點302K已滿足該條件,並且已在DAG 300內考量到第三節點302K。
仍舊進一步,已根據在DAG 300內的位置,決定額外節點302L絕對快於第二節點302E。另外,決定額外節點302L絕對快於第三節點302K也標示為「真」,指出額外節點302L滿足該條件,並且已在DAG 300內考量到額外節點302L。
此外,如第三E圖所示,針對DAG 300內尚未考量的每一節點,可決定一更新的分數,其中該分數與可受與預定條件相關聯的節點上所做決定影響之預期額外未考量節點數相關聯。此外,在決定該等未考量節點的該更新分數之後,決定一第四節點302M具有DAG 300內尚未考量的所有節點之最高分數。
此外,吾人決定第四節點302M是否滿足該預定條件。進一步,吾人決定第四節點302M並未滿足該預定條件。例如:可決定第四節點 302M所代表的該組件變化不可用一預定訊框率顯示一預定畫質,同時運行一特定應用程式。結果,第四節點302M標示為「偽」,指出第四節點302M並未滿足該條件,並且已在DAG 300內考量到第四節點302M。
仍舊進一步,已根據在DAG 300內的位置,決定額外節點302N和O絕對慢於第四節點302M。另外,決定額外節點302N和O絕對慢於第四節點302M也標示為「偽」,指出額外節點302N和O並未滿足該條件,並且已在DAG 300內考量到額外節點302N和O。
此外,如第三F圖所示,針對DAG 300內尚未考量的每一節點,可決定一更新的分數,其中該分數與可受與預定條件相關聯的節點上所做決定影響之預期額外未考量節點數相關聯。此外,在決定該等未考量節點的該更新分數之後,決定一第五節點302P具有DAG 300內尚未考量的所有節點之最高分數。
此外,吾人決定第五節點302P是否滿足該預定條件。進一步,吾人決定第五節點302P已滿足該預定條件。例如:可決定第五節點302P所代表的該組件變化可用一預定訊框率顯示一預定畫質,同時運行一特定應用程式。結果,第五節點302P標示為「真」,指出第五節點302P已滿足該條件,並且已在DAG 300內考量到第五節點302P。
仍舊進一步,已根據在DAG 300內的位置,決定額外節點302Q絕對快於第五節點302P。另外,決定額外節點302Q絕對快於第五節點302P也標示為「真」,指出額外節點302Q滿足該條件,並且已在DAG 300內考量到額外節點302Q。
另外,如第三G圖所示,針對DAG 300內尚未考量的每一節點,可決定一更新的分數,其中該分數與可受與預定條件相關聯的節點上所做決定影響之預期額外未考量節點數相關聯。此外,在決定該等未考量節點的該更新分數之後,決定一第六節點302R具有DAG 300內尚未考量的所有節點之最高分數。
此外,吾人決定第六節點302R是否滿足該預定條件。進一步,吾人決定第六節點302R並未滿足該預定條件。例如:可決定第六節點302R所代表的該組件變化不可用一預定訊框率顯示一預定畫質,同時運行 一特定應用程式。結果,第六節點302R標示為「偽」,指出第六節點302R並未滿足該條件,並且已在DAG 300內考量到第六節點302R。
仍舊進一步,吾人決定第六節點302R為DAG 300內剩餘尚未考量的最後節點,並且達成最終結果。如此,實際上只測試六個節點,就可決定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 (15)

  1. 一種方法,包含:識別與一軟體元件相關聯的預定條件,該條件包括與在一預定訊框率運行該軟體元件的複數個預定參數之一能力相關聯;以及運用一有向無環圖(DAG,directed acyclic graph),決定複數個預定參數的複數個不同設置的每一者是否滿足該條件,包括:建立一個內含複數個有向節點的該DAG,而在DAG內的每一有向節點代表該複數個預定參數的一特定設置;引導該DAG內根據與每一節點相關聯的該速率的複數個節點,在此該速度係根據由該節點所代表的該等裝置參數所決定;針對該DAG內每一節點,根據一慢於該節點的額外節點數及一快於該節點的額外節點數計算出一用於該節點的分數;決定在該DAG內的具有一最高被計算分數的一高分數節點;決定在該DAG內的該高分數節點是否能夠以該預定訊框率在該軟體元件上運行;當該高分數節點不能夠以該預定訊框率在該軟體元件上運行時,用旗標標記在該慢於與該高分數節點一樣被決定不滿足該條件的DAG內的該高分數節點及額外節點;當該高分數節點不能夠以該預定訊框率在該軟體元件上運行時,用旗標標記在該快於與該高分數節點一樣被決定不滿足該條件的DAG內的該高分數節點及額外節點。
  2. 如申請專利範圍第1項之方法,其中該軟體元件包含一軟體應用程式。
  3. 如申請專利範圍第1項之方法,其中該等複數個參數值包含安裝在該裝置內的硬體。
  4. 如申請專利範圍第1項之方法,其中該分數指出可受與該條件相關聯的節點上所做決定影響的預期額外節點數。
  5. 如申請專利範圍第1項之方法,其中將已決定滿足或不滿足該條件的所有節點都標示為已造訪。
  6. 如申請專利範圍第5項之方法,其中決定複數個不同參數設置的每一者 是否滿足該條件包含計算該DAG內每一未造訪節點的後續分數,並且決定該DAG內具有最高後續分數的一未造訪節點。
  7. 如申請專利範圍第1項之方法,其中該分數被計算用於在該有向無環圖內的一第一節點,該分數更與該直接地或間接地指向該第一節點的節點數相關聯,並且該該節點數也直接地或間接地被該第一節點指向。
  8. 如申請專利範圍第1項之方法,其中該分數被計算用於一第一節點更指示該第一節點將會滿足該根據該第一節點滿足較早與相似於該軟體元件的另一軟體元件的一先前歷史的條件。
  9. 如申請專利範圍第5項之方法,更包括改變一關聯於被標示為已造訪的該節點為真。
  10. 如申請專利範圍第1項之方法,其中所有已經被決定滿足該條件的節點可被記錄。
  11. 如申請專利範圍第1項之方法,其中所有已經被決定不滿足該條件的節點可被記錄。
  12. 如申請專利範圍第1項之方法,其中該條件測試一節點是否可用該預定訊框率顯示一預定畫質同時運行一特定應用程式之測試要求。
  13. 一種在一電腦可讀取媒體上具體實施之電腦程式商品,其包含程式碼用於:識別與一軟體元件相關聯的預定條件,該條件包括與在一預定訊框率運行該軟體元件的複數個預定參數之一能力相關聯;以及運用一有向無環圖(DAG,directed acyclic graph),決定複數個預定參數的複數個不同設置的每一者是否滿足該條件,包括:建立一個內含複數個有向節點的該DAG,而在DAG內的每一有向節點代表該複數個預定參數的一特定設置;引導該DAG內根據與每一節點相關聯的該速率的複數個節點,在此該速度係根據由該節點所代表的該等裝置參數所決定;針對該DAG內每一節點,根據一慢於該節點的額外節點數及一快於該節點的額外節點數計算出一用於該節點的分數;決定在該DAG內的具有一最高被計算分數的一高分數節點; 決定在該DAG內的該高分數節點是否能夠以該預定訊框率在該軟體元件上運行;當該高分數節點不能夠以該預定訊框率在該軟體元件上運行時,用旗標標記在該慢於與該高分數節點一樣被決定不滿足該條件的DAG內的該高分數節點及額外節點;當該高分數節點不能夠以該預定訊框率在該軟體元件上運行時,用旗標標記在該快於與該高分數節點一樣被決定不滿足該條件的DAG內的該高分數節點及額外節點。
  14. 一種系統,包含:一處理器,用於:識別與一軟體元件相關聯的預定條件,該條件包括與在一預定訊框率運行該軟體元件的複數個預定參數之一能力相關聯;以及運用一有向無環圖(DAG,directed acyclic graph),決定複數個預定參數的複數個不同設置的每一者是否滿足該條件,包括:建立一個內含複數個有向節點的該DAG,而在DAG內的每一有向節點代表該複數個預定參數的一特定設置;引導該DAG內根據與每一節點相關聯的該速率的複數個節點,在此該速度係根據由該節點所代表的該等裝置參數所決定;針對該DAG內每一節點,根據一慢於該節點的額外節點數及一快於該節點的額外節點數計算出一用於該節點的分數;決定在該DAG內的具有一最高被計算分數的一高分數節點;決定在該DAG內的該高分數節點是否能夠以該預定訊框率在該軟體元件上運行;當該高分數節點不能夠以該預定訊框率在該軟體元件上運行時,用旗標標記在該慢於與該高分數節點一樣被決定不滿足該條件的DAG內的該高分數節點及額外節點;當該高分數節點不能夠以該預定訊框率在該軟體元件上運行時,用旗標標記在該快於與該高分數節點一樣被決定不滿足該條件的DAG內的該高分數節點及額外節點。
  15. 如申請專利範圍第14項之系統,其中該處理器透過一匯流排耦合至一記憶體。
TW102123499A 2012-07-06 2013-07-01 決定參數設定是否符合預設標準的系統、方法和電腦程式商品 TWI512670B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/543,184 US9201670B2 (en) 2012-07-06 2012-07-06 System, method, and computer program product for determining whether parameter configurations meet predetermined criteria

Publications (2)

Publication Number Publication Date
TW201415407A TW201415407A (zh) 2014-04-16
TWI512670B true TWI512670B (zh) 2015-12-11

Family

ID=49780820

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102123499A TWI512670B (zh) 2012-07-06 2013-07-01 決定參數設定是否符合預設標準的系統、方法和電腦程式商品

Country Status (4)

Country Link
US (1) US9201670B2 (zh)
CN (1) CN103530107B (zh)
DE (1) DE102013212482B4 (zh)
TW (1) TWI512670B (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
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
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
US9250931B2 (en) 2012-07-06 2016-02-02 Nvidia Corporation System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
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
US10878770B2 (en) 2013-12-02 2020-12-29 Nvidia Corporation Method and system for customizing optimal settings using end-user preferences
US10855706B2 (en) * 2016-10-11 2020-12-01 Battelle Memorial Institute System and methods for automated detection, reasoning and recommendations for resilient cyber systems
US11232096B2 (en) 2018-09-06 2022-01-25 Optumsoft, Inc. Automatic generation of an efficient rule set implementation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6059842A (en) * 1998-04-14 2000-05-09 International Business Machines Corp. System and method for optimizing computer software and hardware
US20060112057A1 (en) * 2004-10-28 2006-05-25 Chunrong Lai Score result reuse for Bayesian network structure learning
CN101251958A (zh) * 2007-07-06 2008-08-27 浙江大学 面向训练的汽车驾驶模拟机实现方法
CN101256641A (zh) * 2008-03-11 2008-09-03 浙江大学 基于模型的聚类法与贝叶斯网络法的基因芯片数据分析法
TW200900971A (en) * 2007-06-28 2009-01-01 Academia Sinica Method and device for summarization and graph construction of topics evolutions
US20090064053A1 (en) * 2007-08-31 2009-03-05 Fair Isaac Corporation Visualization of Decision Logic

Family Cites Families (73)

* 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
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 ソニー株式会社 映像処理装置
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
WO2002046980A2 (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
AU2004222927A1 (en) 2003-03-19 2004-10-07 Nik Software, Inc. Selective enhancement of digital images
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
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 群康科技(深圳)有限公司 液晶显示器韧体更新系统及方法
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
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
US20100269137A1 (en) 2006-11-07 2010-10-21 Sony Corporation Transmission device, video signal transmission method for transmission device, reception device, and video signal reception method for reception device
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
US8204955B2 (en) 2007-04-25 2012-06-19 Miovision Technologies Incorporated Method and system for analyzing multimedia content
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
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
US8296781B1 (en) 2007-12-11 2012-10-23 Nvidia Corporation System, method, and computer program product for determining application parameters based on hardware specifications
US8280864B1 (en) 2007-12-17 2012-10-02 Nvidia Corporation System, method, and computer program product for retrieving presentation settings from a database
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
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
US9250931B2 (en) 2012-07-06 2016-02-02 Nvidia Corporation System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6059842A (en) * 1998-04-14 2000-05-09 International Business Machines Corp. System and method for optimizing computer software and hardware
US20060112057A1 (en) * 2004-10-28 2006-05-25 Chunrong Lai Score result reuse for Bayesian network structure learning
TW200900971A (en) * 2007-06-28 2009-01-01 Academia Sinica Method and device for summarization and graph construction of topics evolutions
CN101251958A (zh) * 2007-07-06 2008-08-27 浙江大学 面向训练的汽车驾驶模拟机实现方法
US20090064053A1 (en) * 2007-08-31 2009-03-05 Fair Isaac Corporation Visualization of Decision Logic
CN101256641A (zh) * 2008-03-11 2008-09-03 浙江大学 基于模型的聚类法与贝叶斯网络法的基因芯片数据分析法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MATUNDA NYANCHAMA and SYLVIA OSBORN,"The Role Graph Model and Conflict of Interest", ACM Transactions on Information and System Security,Vol. 2, No. 1,Page 3-33,Feburary 1999 *

Also Published As

Publication number Publication date
DE102013212482A1 (de) 2014-01-09
DE102013212482B4 (de) 2024-05-23
CN103530107B (zh) 2017-10-31
US20140013303A1 (en) 2014-01-09
CN103530107A (zh) 2014-01-22
TW201415407A (zh) 2014-04-16
US9201670B2 (en) 2015-12-01

Similar Documents

Publication Publication Date Title
TWI512670B (zh) 決定參數設定是否符合預設標準的系統、方法和電腦程式商品
TWI489269B (zh) 測試裝置參數的系統、方法和電腦程式產品
US11351463B2 (en) System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9250931B2 (en) System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
TWI537868B (zh) 同時決定複數個參數變化設定的系統、方法和電腦程式商品
US9165399B2 (en) System, method, and computer program product for inputting modified coverage data into a pixel shader
TWI518509B (zh) 決定裝置設定的系統、方法和電腦程式產品
TW201222439A (en) Reputation scoring for online storefronts
US9275377B2 (en) System, method, and computer program product for determining a monotonic set of presets
US20210014331A1 (en) Information processing apparatus and information processing system
US9721380B2 (en) Removing redundant volumetric information from a volume-based data representation
JP6364066B2 (ja) 複数のプリミティブを使用するグラフィック処理
US20150072792A1 (en) Game load management
TW201812692A (zh) 為由多個訊框組成的圖像資料生成髒資訊的方法及圖形系統
JP2004021149A (ja) 画像処理装置及び画像処理方法
US11790556B2 (en) Determining optical center in an image
TWI672946B (zh) 播放視頻的方法及裝置
US20240189715A1 (en) Determining user interaction with user interface elements
US20230291671A1 (en) Multi-link operation for delay-sensitive traffic
TW201419212A (zh) 同時決定複數個參數變化設定的系統、方法和電腦程式商品
JP2019153009A (ja) 表示装置、表示方法および表示プログラム