Get desktop application:
View/edit binary Protocol Buffers messages
The CompilerGymService is the interface that exposes the incremental optimization of a program as an interactive environment.
Request version strings from the service.
A GetVersion() request.
(message has no fields)
The GetVersion() response.
The version string for this service.
The version string for the underlying compiler.
Request the action and observation spaces that this service supports. The service responds with an initial action space, and a list of available observation and reward spaces.
A GetSpaces() request.
(message has no fields)
A GetSpaces() reply.
A list of one or more action spaces that the service supports.
A list of available observation spaces. A service may support one or more observation spaces.
Start a new CompilerGym service session. This allocates a new session on the service and returns a session ID. To terminate the session, call EndSession() once done. Raises grpc::StatusCode::NOT_FOUND if the requested benchmark URI is not found.
A StartSession() request.
The benchmark to use.
An index into the GetSpacesReply.action_space_list selecting the action space that is to be used for this session. Once set, the action space cannot be changed for the duration of the session.
A list of indices into the GetSpacesReply.observation_space_list
A StartSession() reply.
The ID that has been assigned to the session. The client must use this ID in all subsequent interactions with the service for this session.
A new action space. This is set only if, after initializing the session, the action space has changed from the default action space returned by GetSpaces(). If set, the environment should discard the previous action space and replace it with this one. Else, the action space remains unchanged.
Observed states after completing the action.
Fork a session. This creates a new session in exactly the same state. The new session must be terminated with EndSession() once done. This returns an error if the session to fork does not exist.
A Fork() request.
The ID of the session to fork.
A Fork() reply.
The ID of the newly created session.
End a CompilerGym service session. If the requested session does not exist, this returns an error.
An EndSession() request.
The ID of the session.
An EndSession() reply.
The number of sessions that the service currently has.
Apply a list of optimization decisions and compute a list of observations for a session. Optimization decisions are selected from the last ActionSpace returned by a call to GetSpaces() or Step(). Valid observations are queried using GetSpaces(). This returns an error if the requested session does not exist.
A Step() request.
The ID of the session.
A list of actions to execute, in order.
A list of indices into the GetSpacesReply.observation_space_list
A Step() reply.
Indicates that the session has ended. This could be because there are no further actions that can be made, or because the action has led to an invalid state. Once this field has been set, you should make no further calls to step(). However, you mays still request reward and new observations.
A service may set this field to true if the action is known not to have any effect. This allows an agent to assume that observations or rewards computed before this action remain valid, providing that they are deterministic.
A new action space. This field is set if, as a result of running the requested action, the action space has changed. Else, the action space remains unchanged.
Observed states after completing the action.
Register a new benchmark.
An AddBenchmark() request.
A list of benchmarks to add.
An AddBenchmark() reply.
(message has no fields)
Transmit <key, value> parameters to a session. Each parameter generates a string response. It us up to the client/service to agree on a common schema for encoding and decoding these parameters. An unknown key/value returns grpc::StatusCode::INVALID_ARGUMENT.
A SendSessionParameter() request.
The ID of the session.
A list of <key, value> parameters to pass to the session.
A SendSessionParameter() reply.
A list of response messages, one per parameter request.
Used in:
, ,Representation of the input to a compiler.
Used in:
,The name of the benchmark to add. In case of conflict with an existing benchmark, this new benchmark replaces the existing one.
The description of the program that is being compiled. It is up to the service to determine how to interpret this file, and it is the responsibility of the client to ensure that it provides the correct format. For example, the service could expect that this file contains serialized IR data, or an input source file.
An optional configuration option that details how to build and run the benchmark program.
Description of how to build and run a benchmark binary.
Used in:
A command to execute to build the benchmark for dynamic execution.
A command to execute to run the benchmark.
A list of commands to execute before running the benchmark.
A list of commands to execute after running the benchmark.
Used in:
The [min, max] range of a boolean scalar.
Used in:
,The minimum value (inclusive). If not set, the value is 0 (false).
The maximum value (inclusive). If not set, the value is 1 (true).
Used in:
Used in:
,Flattened tensor of shape `shape` with C-like index order.
Used in:
Used in:
Used in:
,Flattened tensor of shape `shape` with C-like index order.
Used in:
Number of byte arrays in the sequence.
Representation of a command that can be executed.
Used in:
A list of command line arguments.
An optional key-value mapping of environment variables to set.
The maximum runtime of the command.
An optional list of files that are required by this command. If set, the presence of the files will be tested for before running the command. This can be useful for providing informative error messages.
An optional list of files that are generated by this command. If set, the presence of the files will be tested for after running the command.
Used in:
Used in:
A discrete space in :math:`{ 0, 1, \\dots, n-1 }`.
Used in:
Used in:
The [min, max] range of an double scalar.
Used in:
,The minimum value (inclusive). If not set, the value is -inf.
The maximum value (inclusive). If not set, the value is +inf.
Used in:
Used in:
,Flattened tensor of shape `shape` with C-like index order.
Common structure shared between actions and observations.
Used in:
, , , , ,Fixed and variable length sequences are represented as one-dimensional tensor.
A File message represents a file object.
Used in:
The raw data of the file.
The URI of the file which can be accessed. Note that this requires that the compiler service and the Python frontend share a file system, which cannot be assumed for general use.
Used in:
The [min, max] range of an double scalar.
Used in:
,The minimum value (inclusive). If not set, the value is -inf.
The maximum value (inclusive). If not set, the value is +inf.
Used in:
Used in:
,Flattened tensor of shape `shape` with C-like index order.
Used in:
The [min, max] range of an int64 scalar.
Used in:
, , , , , , , , ,The minimum value (inclusive). If not set, the value is -2^63.
The maximum value (inclusive). If not set, the value is 2^63 - 1.
Used in:
Used in:
,Flattened tensor of shape `shape` with C-like index order.
Used in:
A list of spaces.
Used in:
A discrete space in which every point in the space is named. This can be used for representing enumerations.
Used in:
A list of names for every value in the space. The order in which these values are returned is used.
Used in:
Whether the observation space is deterministic.
Whether the observations depend on the service execution environment.
A default observation. This value should be used by the client in lieu of a true observation if the compiler service terminates abruptly, such as a crash while applying an action.
Can be used in Space.any_value or Event.any_value to describe an opaque serialized data.
An arbitrary string parameter value for a session.
Used in:
A string key.
A string value.
Used in:
, , , ,A variable length sequence of spaces.
Used in:
The number of spaces in the sequence.
Used in:
The number of strings in the sequence.
Used in:
Used in:
Flattened tensor of shape `shape` with C-like index order.