Feature Selection for Instruction Placement for the TRIPS Microarchitecture

Katie Coons and Bert Maher

Project Documents

Project Proposal
Meeting Notes - March 8th, 2007
Mid-semester Writeup
Final Report, and the final perfomrance results, which we were not able to include in the paper, as condor was being fussy about running our jobs. All benchmarks/parameters are identical for these two experiments, except that in one case we used the feature set currently in the scheduler and in the other case we used a modified set of features based on the lasso/correlation results.

The Y axis in this graph is the fitness of the best organism. Fitness is cacluated as percent improvement over the scheduler + 2, because all fitnesses in NEAT must be positive. Thus, the line where the y-axis equals 2 is where NEAT is performing exactly as well as the sheduler - the percent difference is zero. The best results we've seen so far for this benchmark set are less than a percent worse for the initial features, and around 3% better than the scheduler for the lasso features. This is for a benchmark set that did particularly poorly with NEAT. We're trying the new features out on a benchmark set that did notably better with NEAT now (5% better than the scheduler). Hopefully we can improve that result as well.

Matlab code, data, and other source files for the final project can be found here.


Machine Learning for Instruction Placement for the TRIPS Microarchitecture

Katie Coons, Behnam Robatmili, and Matt Taylor

Project Documents

Project Proposal
Interface Specification
Final Report

References

A spatial path scheduling algorithm for EDGE architectures
Merging head and tail duplication for convergent hyperblock formation
Building a basic block instruction scheduler with reinforcement learning and rollouts
Evolving neural networks through augmenting topologies
Meta optimization: improving compiler heuristics with machine learning.
Comparing evolutionary and temporal difference methods in a reinforcement learning domain