Updated on 2023-11-16 GMT+08:00

Configuration File

This section describes each configuration item in the static acceleration configuration file and dynamic acceleration configuration file.

Static Acceleration Configuration File

The following figure shows the default configuration of static acceleration. You can customize a configuration file to optimize applications.

Table 1 Configuration information

Module

Description

binary

Binary file attributes. For details about the binary parameters, see Table 2.

parameter

A collection of user-defined parameters. A parameter set is generated based on this collection of parameters. At least one parameter must be defined.

You can run the llvm-bolt -h command to view all parameters.

include

Parameters that must be contained in the collection of user-defined parameters. Multiple parameters are allowed. The logical relationship between parameters is AND.

The key of the configuration item is the parameter name, and the value is specified, for example, frame-opt=none.
NOTE:
  • If the value cannot be specified or does not need to be specified, end the key with an equal sign (=), for example, frame-opt=.
  • If include and exclude contain the same parameter, exclude precedes include.

exclude

Parameters that do not need to be contained in the collection of user-defined parameters. Multiple parameters are allowed. The logical relationship between parameters is AND.

NOTE:
  • If the value cannot be specified or does not need to be specified, end the key with an equal sign (=), for example, frame-opt=.
  • If include and exclude contain the same parameter, exclude precedes include.
Table 2 binary parameters

Item

Value Type

Default Value

Description

binary_out_path

String

"/data/hce-wae-auto"

Defines the path for saving the binary file that is automatically generated.

binary_file_suffix

String

"blot.auto"

Defines the suffix of the binary file name that is automatically generated.

Example Static Acceleration Configuration File

[binary]
binary_out_path = "/data/llvm_auto"
binary_num_threshold = 1000
binary_file_suffix = "blot.auto"

[parameter]
parameters =
    --align-blocks              # Parameter prefix -- can be added.
    frame-opt                   # If you do not need to specify the value of a parameter in the collection of user-defined parameters, you do not need to end the key with an equal sign (=).
    align-functions=1            # If the value of a parameter in the collection of user-defined parameters is specified, the value of the parameter is 1 in all parameter combinations in the generated parameter set.

[include]
align-blocks=                   # If the parameter value cannot be specified, the configuration item is still ended with an equal sign (=).
[exclude]
frame-opt=none                  # The parameter and its value are specified. Parameter combinations whose parameter is frame-opt and value is none are filtered out from the generated parameter set.
indirect-call-promotion=         # The parameter is specified and is of the enumeration type. All parameter combinations whose parameter is frame-opt are filtered out from the generated parameter set.

Dynamic Acceleration Configuration File

The following figure shows the default configuration of dynamic acceleration. You can customize a configuration file to optimize applications.

Table 3 Configuration information

Module

Description

[mission] Parameters to be configured for the application

log-type

Indicates the way to collect logs during runtime. Only the instrumentation is supported

hotpatch-type

Indicates the way to hotpatch the optimized segments. Only mode1 (ptrace) is supported.

snapshot-path

Indicates the path for storing the optimized binary snapshot file.

origin-exe

Indicates the location of the original application. This parameter must be specified when logs are collected using instrumentation.

[stop-strategy]: Policy for stopping application optimization. Select one of the configurations.

run-times

Specifies how many times the application is optimized. Optimization stops when the number is reached. Currently, an application can be optimized only once.

period

Specifies the optimization period, in seconds. Optimization stops when the period expires. The value ranges from 1 to 600.

condition

Specifies the optimization condition. Optimization stops when this condition is met. This parameter is reserved.