Difference between revisions of "Work Package 2"

From Superoptimization
Jump to: navigation, search
(Deliverables)
(Added original project plan summary)
Line 1: Line 1:
== Description ==
+
== Work package summary ==
 +
 
 +
=== Description ===
 +
 
 +
Design a peephole optimization to integrate a superoptimizer into GCC and/or LLVM.
 +
 
 +
=== Deliverables ===
 +
 
 +
Engineering design of a peephole superoptimization integration. Stretch goal implement it.
 +
 
 +
=== Dependencies ===
 +
 
 +
Cannot finish before [[Work Package 1|work package 1]] is finished.
 +
 
 +
== Approach ==
  
 
:Design a peephole optimization to integrate a superoptimizer into GCC and/or LLVM.
 
:Design a peephole optimization to integrate a superoptimizer into GCC and/or LLVM.

Revision as of 09:18, 8 August 2014

Work package summary

Description

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

Deliverables

Engineering design of a peephole superoptimization integration. Stretch goal implement it.

Dependencies

Cannot finish before work package 1 is finished.

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)