SC presented a flow diagram of Compiler <--> MAGEEC <--> ML and what data is generated and exchanged where, and what the flow is. Will be on wiki.
Definition of features
- Feature vectors need defining external to any compiler IR.
- Some compilers may or may not have some features available.
- The ML will need to ?regenerate? its data-sets for each option.
- Define 'essential' + 'optional' features?
- The feature vector needs to be defined.
- MILEPOST vector is a starting point, but some features may not be useful.
- Check with MILEPOST results.
- Discarding features could speed the flow.
- Are there language-specific features that are not so useful/a problem for future expandability?
- Need to run sets of passes in one go, not just a single pass in one go.
- Need to run lists of passes
- How to bound the number sensibly
- Some passes need to run multiple times (even after each other)
- Can ML predict how many passes needed before starting?
ML predictor requirements
- Takes in the current feature vector from a program with current passes run.
- Needs to return back a list of passes to run next (with goodness metrics?)
- Probably use a separate application to do the training.
- Need to generate sets of flags (randomly?) based on the constraints of pass ordering (shared data structure from the prediction phase)
- Ordering of passes is important; can make a big difference in some cases.
- SC Begin initial write of compiler->MAGEEC interfaces. Dummy ML placeholder for now.
- SC Add list of upcoming meetings to wiki
- SH Ensure that next meeting includes all ML people to get feedback into that aspect.
- SH Apply for BlueCrystal Accounts for all
- SH Inform all about quarterly meetings
- SH Mailing list activation
- MG Begin on defining the feature vectors to be used, based on MILEPOST.
- JB Flag up with Tom Harris that the ~30% Q1-Q4 UoB staff budget will be rolled forward
- KIE To decide on whether for two PCs with 32GB was one PC with two cores and much more RAM