Action space and transformation action implementations.
This module defines all available transformation actions for loop nest optimization, including tiling, parallelization, fusion, interchange, and vectorization. It provides the ActionSpace class for action sampling and distribution management.
ActionSpace
Class holding information about the action space
distributions(obs, selection_logits, *actions_logits)
classmethod
Create a list of distributions for the actions based on the logits.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obs
|
Tensor
|
Observation tensor. |
required |
selection_logits
|
Tensor
|
Logits for action selection. |
required |
*actions_logits
|
Tensor
|
Logits for each action's parameters. |
()
|
Returns:
| Type | Description |
|---|---|
list[Distribution | None]
|
List of distributions for each action. |
Source code in mlir_rl_artifact/actions/__init__.py
uniform_distributions(obs)
classmethod
Create a list of uniform distributions for the actions based on the observation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obs
|
Tensor
|
Observation tensor. |
required |
Returns:
| Type | Description |
|---|---|
list[Distribution | None]
|
List of distributions for each action. |