3 | | A quick start guide to Orio's empirical performance tuning is presented earlier in the Orio's [wiki:Orio#UsingOrioasanAutomaticPerformanceTool main webpage]. This documentation provides more details on tuning specifications so that users can fully benefit the automatic tuning feature of Orio. |
| 3 | This documentation provides details on tuning specifications so that users can fully benefit the automatic tuning feature of Orio. A quick start guide to Orio's empirical performance tuning is presented earlier in the Orio's [wiki:Orio#UsingOrioasanAutomaticPerformanceTool main webpage]. |
| 4 | |
| 5 | == Structure of Tuning Specifications == |
| 6 | |
| 7 | The tuning specifications of Orio simply consist of a sequence of ''definition statements''. Every definition statement contains a series of ''auxiliary statements'', which can be categorized into four different types: |
| 8 | |
| 9 | 1. ''argument statement'' |
| 10 | 1. ''let statement'' |
| 11 | 1. ''parameter statement'' |
| 12 | 1. ''constraint statement'' |
| 13 | 1. ''declaration statement'' |
| 14 | |
| 15 | Argument statement is used to collect specific information from the Orio user about the pertinent tuning components. One example is the `command` argument (in the `build` definition) that is used to indicate the compilation command. |
| 16 | |
| 17 | |
| 18 | The main use of a let statement is to store a temporary data into a variable that may be reused multiple times by other successive statements. |
| 19 | |
| 20 | The purpose of parameter statement is to assign a range of values to the tuning parameters, which can be either performance parameters or input problem parameters. |
| 21 | |