Deriving application-specific operating parameters for backwards compatibility
Performance of a legacy application may be characterized for subsequent adjustment of operating parameters when running the legacy application on a newer system. The legacy application is run on an older system and one or more key performance metrics that must be met when the legacy application is run on the newer system are determined along with other performance information useful for later adjustment of operating parameters of the newer system when running the legacy application on the newer system.
1. A method for adjustment of operating parameters of a legacy application from characterization of performance of one or more legacy applications, comprising:
running one or more legacy applications on an older system having an older system architecture than the newer system;
determining from running the one or more legacy applications on the older system, one or more performance metrics that must be met when the one or more legacy applications are run on the newer system having a newer system architecture than the older system and other performance information for adjustment of operating parameters of the newer system when running the one or more legacy applications on the newer system
developing a heuristic for adjustment of operating parameters of the newer system when running the legacy application on the new system from the one or more performance metrics and other performance information.
2. The method of claim 1 , wherein the one or more performance metrics are determined from counting clock cycles between events during program execution.
3. The method of claim 1 , wherein the one or more performance metrics are determined from values stored in one or more dedicated processor registers that keep track of information related to execution of the application.
4. The method of claim 3 , wherein the information stored in the one or more dedicated processor registers includes a counter value.
5. The method of claim 4 , wherein the counter value is a program counter value.
6. The method of claim 4 , wherein the counter value is a value of a counter for memory cycles, arithmetic logic unit (ALU) cycles, or pixels.
7. The method of claim 1 , wherein the one or more performance metrics are determined from detected busy waits.
8. The method of claim 1 , wherein the one or more key performance metrics include to frames per second.
9. The method of claim 1 , wherein the one or more key performance metrics include instructions per cycle (IPC) binned to a program counter (PC) range.
10. The method of claim 1 , wherein the other performance information is derived indirectly.
11. The method of claim 9 , wherein the other performance information includes an average parallel processing hardware scheduling unit occupancy per unit time, an average parallel processing hardware scheduling unit lifetime, an average latency for memory operations, or a count of pixels output to render targets per unit time.
12. The method of claim 1 , further comprising determining one or more performance information values that are useful for tuning operating parameters of the newer system.
13. The method of claim 12 , wherein determining the one or more performance information values that are useful for tuning operating parameters of the newer system includes determining one or more correlations between changes in key performance information values and operating parameters.
14. The method of claim 12 , wherein determining one or more performance information values that are useful for tuning operating parameters of the newer system includes determining one or more correlations between changes in key performance information values and operating parameters through multivariate analysis.
15. The method of claim 1 , wherein the older system and newer system are video game systems.
16. A system, comprising:
a processor;
a memory; and
processor executable instructions embodied in the memory, the instructions being configured to implement a method for adjustment of operating parameters of a legacy application from characterization of performance of one or more legacy applications, the method comprising:
running the legacy application on an older system having an older system architecture than a newer system having a newer system architecture than the older system;
determining from running the legacy application on the older system one or more performance metrics that must be met when the legacy application is run on the newer system and other performance information that is useful for later adjustment of operating parameters of the newer system when running the legacy application on the newer system.
17. A non-transitory computer readable medium having computer readable instructions embodied therein, the instructions being configured to implement a method for adjustment of operating parameters of a legacy application from characterization of performance of one or more legacy applications, the method comprising:
running the legacy application on an older system having an older system architecture than the newer system;
determining from running the legacy application on the older system, one or more performance metrics that must be met when the legacy application is run on the newer system and other performance information that is useful for later adjustment of operating parameters of the newer system when running the legacy application on the newer system.