Difference between revisions of "Research questions"
From MAGEEC
(→Feature Vector) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 16: | Line 16: | ||
==Feature Vector== | ==Feature Vector== | ||
*Which features should be in the feature vector? | *Which features should be in the feature vector? | ||
+ | Principle Component Analysis has been used to evaluate how much each feature varies across BEEBS. See blog post here: http://mageec.org/2014/08/11/evaluation-of-static-program-features-used-in-mageec/#more-408 | ||
*Are the features compiler specific? | *Are the features compiler specific? | ||
Line 21: | Line 22: | ||
*What types of machine learning performs best for learning optimizations? | *What types of machine learning performs best for learning optimizations? | ||
*Can the machine learning learn when to 'backtrack' and undo a previously applied optimization, based on benchmark features? | *Can the machine learning learn when to 'backtrack' and undo a previously applied optimization, based on benchmark features? | ||
+ | *How varied a set of benchmarks is needed to properly train a database? | ||
+ | *Can fewer benchmarks be used, but each benchmark altered by applying a random set of transformations? | ||
==Data Dependence== | ==Data Dependence== |
Latest revision as of 13:15, 14 August 2014
This page covers some research questions that would be interesting to explore, once we have an initial framework to play with
Contents
Dynamic Features
- Can we better predict which optimizations to use if we take dynamic features of the application?
- What kinds of dynamic features can we capture?
- GCC/LLVM both have profile guided optimization, can we use this file for the dynamic features?
- Can hardware counters be used?
Non-binary Parameters
- Some optimizations have parameters which aren't on or off. Can be learn good values for these parameters?
Interactivity
- What is the effect of applying N learnt optimizations, and then retaking the features?
Feature Vector
- Which features should be in the feature vector?
Principle Component Analysis has been used to evaluate how much each feature varies across BEEBS. See blog post here: http://mageec.org/2014/08/11/evaluation-of-static-program-features-used-in-mageec/#more-408
- Are the features compiler specific?
Machine Learning
- What types of machine learning performs best for learning optimizations?
- Can the machine learning learn when to 'backtrack' and undo a previously applied optimization, based on benchmark features?
- How varied a set of benchmarks is needed to properly train a database?
- Can fewer benchmarks be used, but each benchmark altered by applying a random set of transformations?
Data Dependence
- Do different sequences of optimizations need to be applied for different data sets?
Multidimensional Cost Functions
- Can we optimize for energy and performance simultaneously?
- Can the balance between different cost metrics be altered?
- Does the database need to be retrained for different target metrics?