Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add an in-process CompilerGymService for python backends #727

Draft
wants to merge 9 commits into
base: development
Choose a base branch
from

Conversation

ChrisCummins
Copy link
Contributor

A new CompilerEnv implementation that doesn't use gRPC but instantiates and calls methods on CompilationSession directly.

Work-in-progress, there will be bugs.

cc @dejangrubisic

This adds a new class, `compiler_gym.spaces.ActionSpace`, that wraps
the existing `env.action_space` types, and provides a pair of methods
`to_string()` and `from_string()` for serializing and deserializing
to/from string, respectively. This replaces the old
`CompilerEnv.commandline()` method, which has been marked deprecated
and will be removed in a future release.

To update your code, replace:

    env.commandline()

With:

    env.action_space.to_string(env.actions)

And replace:

    env.actions_from_commandline("...")

With:

    env.action_space.from_string("...")

The reason for this change is that "command line" is a specialized
term that does not make sense for all compiler environments. The new
ActionSpace class also provides default implementations of `to_string()`
and `from_string()`, so there is no need to implement these two
methods when providing a new backend. As a result, the LoopToolEnv
class has been removed.
Remove a handful of things that were deprecated several releases back.
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 29, 2022
@ChrisCummins ChrisCummins added this to the v0.2.6 milestone Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants