Work Package 2

From Superoptimization
Jump to: navigation, search

Work package summary

Start date: 30 June 2014
End date: 25 July 2014

Revised, since work package 1 has established that peephold optimization is not immediately relevant and has also indicated prototyping of key technologies is feasible.

Description

Implement prototypes for the superoptimization techniques identified in work package 1.

Deliverables

Prototype implementations of superoptimization techniques.

Dependencies

Cannot finish before work package 1 is finished.

Status

Complete.

Approach

Design a peephole optimization to integrate a superoptimizer into GCC and/or LLVM.

Notes

A peephole optimizer is no longer relevant - not enough potential for gains.

Optimizing simultaneous sequences.

Peephole superoptimizer study could bruteforce multiple sequences simultenously, by hashing the test vectors
Unclear to see how this can be done for SMT based methods
Naively attempting to find multiple solutions at the same time will limit the 'branch pruning' of the solver – it will be unable to rule out large areas of the search space due to multiple divergant solutions
Could be the thing that limits the effectiveness of the SMT method
Possible solutions
Attempt to find multiple solutions to 'similar' sequences. Based on the assumption that the solutions will be similar. How to define a similarity metric?

Deliverables

The above notes, and notes on the Meetings page are the output of WP2, to be formulated into the project report (WP4)