document, test, organize graph optimization.
Suppose someone sees that their graph is not what they expected. They want to know
- why is the graph like this? Is there already an optimization that is supposed to handle this case that is broken, or has this case not been considered?
- what optimization should I write to make it better? And what phase of optimization should I add my transformation to?
- Document pre-conditions and post-conditions for various points in the optimization pipeline. The destroy-handler coming in at position 50 is a step in this direction, but we need more. What does 'Canonicalization' mean? What properties can we rely on after it has completed? Ditto for 'Specialization'.
Consider breaking tensor.opt into one file for specialization and one file for canonicalization.
Document some of the 'helper functions' that have emerged in tensor.opt and consider moving them to gof.opt.
- why is the graph like this? Is there already an optimization that is supposed to handle this case that is broken, or has this case not been considered?
- what optimization should I write to make it better? And what phase of optimization should I add my transformation to?
- Document pre-conditions and post-conditions for various points in the optimization pipeline. The destroy-handler coming in at position 50 is a step in this direction, but we need more. What does 'Canonicalization' mean? What properties can we rely on after it has completed? Ditto for 'Specialization'.
Consider breaking tensor.opt into one file for specialization and one file for canonicalization.
Document some of the 'helper functions' that have emerged in tensor.opt and consider moving them to gof.opt.
Leave a comment