TW201415407A - 決定參數設定是否符合預設標準的系統、方法和電腦程式商品 - Google Patents
決定參數設定是否符合預設標準的系統、方法和電腦程式商品 Download PDFInfo
- Publication number
- TW201415407A TW201415407A TW102123499A TW102123499A TW201415407A TW 201415407 A TW201415407 A TW 201415407A TW 102123499 A TW102123499 A TW 102123499A TW 102123499 A TW102123499 A TW 102123499A TW 201415407 A TW201415407 A TW 201415407A
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- dag
- condition
- nodes
- predetermined
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004590 computer program Methods 0.000 title claims abstract description 6
- 238000012360 testing method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring 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)
Abstract
本發明揭示一種用於決定參數設置是否滿足預定條件的系統、方法和電腦程式商品。在運用中,已識別與一軟體元件相關聯的預定條件。此外,運用一有向無環圖(DAG,directed acyclic graph),決定複數個不同參數設置的每一者是否滿足該條件。
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 (20)
- 一種方法,包含:識別與一軟體元件相關聯的預定條件;以及運用一有向無環圖(DAG,directed acyclic graph),決定複數個不同參數設置的每一者是否滿足該條件。
- 如申請專利範圍第1項之方法,其中該軟體元件包含一軟體應用程式。
- 如申請專利範圍第1項之方法,其中該預定條件可與運行該軟體元件的複數個預定參數之一能力相關聯。
- 如申請專利範圍第3項之方法,其中該等複數個預定參數包含硬體。
- 如申請專利範圍第1項之方法,其中該預定條件包含複數個預定參數以一預定訊框率運行該軟體元件之一能力。
- 如申請專利範圍第1項之方法,其中該預定條件包含複數個預定參數在一特定設定等級上,同時維持一預定訊框率來運行該軟體元件之一能力。
- 如申請專利範圍第1項之方法,其中該DAG包含複數個有向節點,其中根據一或多個規則引導該等節點。
- 如申請專利範圍第7項之方法,其中根據與每一節點相關聯的一速度,在該DAG內引導該等節點。
- 如申請專利範圍第1項之方法,其中該DAG內的每一節點都代表與該裝置相關聯的複數個參數之獨一變化。
- 如申請專利範圍第1項之方法,其中決定複數個不同參數設置的每一者是否滿足該條件包含計算該DAG內每一節點的分數。
- 如申請專利範圍第10項之方法,其中該分數指出可受與該條件相關聯的節點上所做決定影響的預期額外節點數,並且進一步根據先前歷史,包含該節點是否滿足先前條件的細節,指出該節點是否將滿足該條件之預期。
- 如申請專利範圍第10項之方法,其中決定複數個不同參數設置的每一者是否滿足該條件包含決定該DAG內具有已計算分數中最高分數的一 節點。
- 如申請專利範圍第13項之方法,其中決定複數個不同參數設置的每一者是否滿足該條件包含決定在該DAG內已決定具有已計算分數中最高分數的該節點是否滿足該條件。
- 如申請專利範圍第13項之方法,其中若已決定具有最高分數的該節點並未滿足該條件,則已決定明顯慢於該DAG內該節點的所有節點也決定並未滿足該條件。
- 如申請專利範圍第14項之方法,其中若經決定具有最高分數的該節點滿足該條件,則已決定明顯快於該DAG內該節點的所有節點也決定滿足該條件。
- 如申請專利範圍第15項之方法,其中將已決定滿足或不滿足該條件的所有節點都標示為已造訪。
- 如申請專利範圍第16項之方法,其中決定複數個不同參數設置的每一者是否滿足該條件包含計算該DAG內每一未造訪節點的後續分數,並且決定該DAG內具有最高後續分數的一未造訪節點。
- 一種在一電腦可讀取媒體上具體實施之電腦程式商品,其包含:程式碼,用於識別與一軟體元件相關聯的預定條件;以及程式碼,用於運用一有向無環圖(DAG),決定複數個不同參數設置的每一者是否滿足該條件。
- 一種系統,包含:一處理器,用於識別與一軟體元件相關聯的預定條件;以及運用一有向無環圖(DAG,directed acyclic graph),決定複數個不同參數設置的每一者是否滿足該條件。
- 如申請專利範圍第19項之系統,其中該處理器透過一匯流排耦合至記憶體。
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 true TW201415407A (zh) | 2014-04-16 |
TWI512670B 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)
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 |
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 |
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 |
US9092573B2 (en) | 2012-07-06 | 2015-07-28 | Nvidia Corporation | System, method, and computer program product for testing device parameters |
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 |
Family Cites Families (79)
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 | ソニー株式会社 | 映像処理装置 |
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 |
EP1342200A2 (en) * | 2000-12-08 | 2003-09-10 | Configit Software A/S | A method of configuring a product |
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 |
EP1444620A2 (en) | 2001-07-19 | 2004-08-11 | 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 |
US20070172140A1 (en) | 2003-03-19 | 2007-07-26 | Nils Kokemohr | Selective enhancement of digital images |
US7359562B2 (en) | 2003-03-19 | 2008-04-15 | Mitsubishi Electric Research Laboratories, Inc. | Enhancing low quality videos of illuminated scenes |
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 |
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 | 群康科技(深圳)有限公司 | 液晶显示器韧体更新***及方法 |
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 |
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 |
WO2008131520A1 (en) | 2007-04-25 | 2008-11-06 | Miovision Technologies Incorporated | Method and system for analyzing multimedia content |
TWI345159B (en) * | 2007-06-28 | 2011-07-11 | Academia Sinica | Method for summarization and graph construction of topics evolutions |
CN100589148C (zh) * | 2007-07-06 | 2010-02-10 | 浙江大学 | 面向训练的汽车驾驶模拟机实现方法 |
US8312389B2 (en) * | 2007-08-31 | 2012-11-13 | Fair Isaac Corporation | Visualization of decision logic |
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 |
CN100589122C (zh) * | 2008-03-11 | 2010-02-10 | 浙江大学 | 基于模型的聚类法与贝叶斯网络法的基因芯片数据分析法 |
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 |
US20120272220A1 (en) * | 2011-04-19 | 2012-10-25 | Calcagno Cristiano | 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 |
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 |
US9092573B2 (en) | 2012-07-06 | 2015-07-28 | Nvidia Corporation | System, method, and computer program product for testing device parameters |
-
2012
- 2012-07-06 US US13/543,184 patent/US9201670B2/en active Active
-
2013
- 2013-06-27 DE DE102013212482.1A patent/DE102013212482B4/de active Active
- 2013-07-01 TW TW102123499A patent/TWI512670B/zh active
- 2013-07-08 CN CN201310284805.9A patent/CN103530107B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TWI512670B (zh) | 2015-12-11 |
CN103530107B (zh) | 2017-10-31 |
DE102013212482A1 (de) | 2014-01-09 |
DE102013212482B4 (de) | 2024-05-23 |
US20140013303A1 (en) | 2014-01-09 |
US9201670B2 (en) | 2015-12-01 |
CN103530107A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI512670B (zh) | 決定參數設定是否符合預設標準的系統、方法和電腦程式商品 | |
TWI489269B (zh) | 測試裝置參數的系統、方法和電腦程式產品 | |
US9250931B2 (en) | System, method, and computer program product for calculating settings for a device, utilizing one or more constraints | |
US11351463B2 (en) | System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations | |
TWI537868B (zh) | 同時決定複數個參數變化設定的系統、方法和電腦程式商品 | |
TWI518509B (zh) | 決定裝置設定的系統、方法和電腦程式產品 | |
US10678690B2 (en) | Providing fine-grained quality of service (QoS) control using interpolation for partitioned resources in processor-based systems | |
US20210014331A1 (en) | Information processing apparatus and information processing system | |
US20160335743A1 (en) | System and method for dynamically optimizing map tile quality and detail | |
US9721380B2 (en) | Removing redundant volumetric information from a volume-based data representation | |
CN112041818A (zh) | 基于平台水平基准化来调整应用性能的*** | |
US20130144587A1 (en) | Scalability evaluation device, scalability evaluation method, and scalability evaluation program | |
US20150072792A1 (en) | Game load management | |
TW201812692A (zh) | 為由多個訊框組成的圖像資料生成髒資訊的方法及圖形系統 | |
US20240189715A1 (en) | Determining user interaction with user interface elements | |
US20170239565A1 (en) | Server apparatus, method, and non-transitory computer-readable medium | |
US20240275692A1 (en) | Provide graphical representation of datacenter rack | |
US20220270291A1 (en) | Determining optical center in an image | |
KR102647904B1 (ko) | 딥러닝 기반으로 장소 리뷰 이미지를 분류하는 방법, 시스템, 및 컴퓨터 프로그램 | |
CN112351213B (zh) | 用于有效信号处理的芯片资源上的***动态分配 | |
WO2024118107A1 (en) | Provide graphical representation of datacenter rack | |
TW201419212A (zh) | 同時決定複數個參數變化設定的系統、方法和電腦程式商品 | |
TW202334766A (zh) | 推論模型部署系統及推論模型部署方法 | |
JP2016225683A (ja) | 電子機器および接続制御方法 | |
JP2013125479A (ja) | 制御プログラム、制御方法および制御装置 |