After the success of our plugin based framework for GCC, we are trying to build a universal "Alchemist" plugin to convert GCC and LLVM (or any other OpenME-compatible compiler) to interactive research toolsets on auto-tuning combined with data mining and machine learning. We plan to convert old MILEPOST GCC plugins for feature extractor, pass selection and reordering, micro-benchmark generators to this unified Alchemist plugin. For example, we want to validate our old research to quickly detect codelet/application CPU/memory bound or detect problems with contentions, etc, using semantically non-equivalent changes (basically breaking the code and observing reaction):
The source code is available to our collaborators in the advanced-ctuning repository under code.source:lib-openme-plugin-alchemist-1.0. It's under heavy development and any collaborative help will be very appreciated!
License: LGPL v2.1