-
Notifications
You must be signed in to change notification settings - Fork 129
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
Release v0.1.9 #288
Release v0.1.9 #288
Conversation
anghabench-v1 uses an amended manifest, but is otherwise the same.
[datasets] Update AnghaBench to v1.
Reduce the depth of TOC and re-organize it so that we first include instructions for installation, then for usage.
[README] Re-org the installation/usage structure.
Don't use the `env.benchmark` attribute, and use active writing style.
Much of the imported inst2vec code is unused. This removes it.
…aset-fast-path [datasets] Remove fast-path for TarDataset.installed check.
The v0.1.8 release removed the random benchmark selection from CompilerGym environments when no benchmark was specified. If the user wishes for random benchmark selection, they were required to roll their own implementation. Randomly sampling from env.dataset.benchmark_uris() is not always easy as the generator may be infinite. For some datasets, e.g. Csmith, it is trivial to select random benchmarks by generating random numbers within the range of numeric seed values, but this is not obvious and the user shouldn't have to figure this out for the simple case of uniform random selection. This adds a `random_benchmark()` method to the `Dataset` class which allows uniform random benchmark selection, and a `random_benchmark()` method to the `Datasets` class for sampling across datasets. Issue facebookresearch#240.
[README] Tweak example usage instructions
…ad-code-prune [third party] Prune dead code from inst2vec.
…hmark [datasets] Add a random_benchmark() method.
The minimum supported Python version for CompilerGym is 3.6. Subclassing from object is only required for Python versions < 3.
Remove `object` subclasses from Python classes.
This is to mitigate infrequent errors during server initialization of bazel.
Rather than running most tests on bazel and a couple using pytest, instead run most tests using pytest and a couple on bazel. The idea is that install-test is often quicker than bazel, and provides an execution environment closer to that of `pip install` users.
Run a smaller number of tests on the CI runners.
Convert C++ documentation to Doxygen format.
[examples] Port the explore script to the new wrappers classes.
v0.1.9 pre-release fixups
This release of CompilerGym focuses on **backend extensibility** and adds a bunch of new features to make it easier to add support for new compilers: - Adds a new `CompilationSession` class encapsulates a single incremental compilation session. - Adds a common runtime for CompilerGym services that takes a `CompilationSession` subclass and handles all the RPC wrangling for you. - Ports the LLVM service and example services to the new runtime. This provides a net performance win with fewer lines of code. Other highlights of this release include: - [Core API] Adds a new `compiler_gym.wrappers` module that makes it easy to apply modular transformations to CompilerGym environments without modifying the environment code. - [Core API] Adds a new `Datasets.random_benchmark()` method for selecting a uniform random benchmark from one or more datasets. - [Core API] Adds a new `compiler_gym.make()` function, equivalent to `gym.make()`. - [LLVM] Adds a new `IrSha1` observation space that uses a fast, service-side C++ implementation to compute a checksum of the environment state. - [LLVM] Adds 12 new C programs from the CHStone benchmark suite. - [LLVM] Adds the `anghabench-v1` dataset and deprecated `anghabench-v0`. - Numerous bug fixes and improvements.
Codecov Report
@@ Coverage Diff @@
## stable #288 +/- ##
===========================================
+ Coverage 63.73% 82.45% +18.72%
===========================================
Files 77 87 +10
Lines 5565 4760 -805
===========================================
+ Hits 3547 3925 +378
+ Misses 2018 835 -1183
Continue to review full report at Codecov.
|
This release of CompilerGym focuses on backend extensibility and adds a bunch of new features to make it easier to add support for new compilers:
CompilationSession
class encapsulates a single incremental compilation session (#261).CompilationSession
subclass and handles all the RPC wrangling for you (#270).Other highlights of this release include:
compiler_gym.wrappers
module that makes it easy to apply modular transformations to CompilerGym environments without modifying the environment code (#272).Datasets.random_benchmark()
method for selecting a uniform random benchmark from one or more datasets (#247).compiler_gym.make()
function, equivalent togym.make()
(#257).IrSha1
observation space that uses a fast, service-side C++ implementation to compute a checksum of the environment state (#267).anghabench-v1
dataset and deprecatedanghabench-v0
(#242).