CompilerGym v0.2.2
Amongst the highlights of this release are support for building with CMake and a new compiler environment based on loop unrolling. Many thanks to @sogartar, @mostafaelhoushi, @KyleHerndon, and @yqtianust for code contributions!
- Added support for building CompilerGym from source on Linux using CMake (#498, #478). The new build system coexists with the bazel build and enables customization over the CMake configuration used to build the LLVM environment. See INSTALL.md for details. Credit: @sogartar, @KyleHerndon.
- Added an environment for loop optimizations in LLVM (#530, #529, #517). This new example environment provides control over loop unrolling factors and demonstrates how to build a standalone LLVM binary using the new CMake build system. Credit: @mostafaelhoushi.
- Added a new
BenchmarkUriclass and API for parsing URIs (#525). This enables benchmarks to have optional parameters that can be used by the backend services to modify their behavior. - [llvm] Enabled runtime reward to be calculated on systems where
/dev/shmdoes not permit executables (#510). - [llvm] Added a new
benchmark://mibench-v1dataset and deprecatedbenchmark://mibench-v0(#511). If you are usingmibench-v0, please update to the new version. - [llvm] Enabled all 20 of the cBench runtime datasets to be used by the
benchmark://cbench-v1dataset (#525). - Made the
site_data_baseargument of theDatasetclass constructor optional (#518). - Added support for building CompilerGym from source on macOS Monterey (#494).
- Removed the legacy dataset scripts and APIs that were deprecated in v0.1.8. Please use the new dataset API. The following has been removed:
- The
compiler_gym.bin.datasetsscript. - The properties:
CompilerEnv.available_datasets, andCompilerEnv.benchmarks. - The
CompilerEnv.require_dataset(),CompilerEnv.require_datasets(),CompilerEnv.register_dataset(), andCompilerEnv.get_benchmark_validation_callback()methods.
- The
- Numerous other bug fixes and improvements.
Full Change Log: v0.2.1...v0.2.2