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
BenchmarkUri
class 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/shm
does not permit executables (#510). - [llvm] Added a new
benchmark://mibench-v1
dataset 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-v1
dataset (#525). - Made the
site_data_base
argument of theDataset
class 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.datasets
script. - 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