From: Francis Russell Date: Mon, 30 Jan 2012 16:08:08 +0000 (+0000) Subject: Extend notes. X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=6cb0ecb0606963e82b6374e24617f606575b96c5;p=francis%2Fofc.git Extend notes. --- diff --git a/NOTES b/NOTES index a35a2e7..bb30b8e 100644 --- a/NOTES +++ b/NOTES @@ -48,3 +48,28 @@ and also dependent upon the specific PPD. The correct strategy would appear to be to destroy and re-create any indices that are derived (depend?) on the indices being eliminated. + +Code Generation Strategy 2 +-------------------------- + +1. Determine indices for all nodes in tree. + +2. Determine which indices are created and destroyed by each node. + +3. By default, we assume that all nodes assign their results to arrays, +which then permit random access by the next operand. + +4. Nodes which share common prefixes can be moved inside the same loops. + +5. Nodes which share common prefixes can have their array temporary +extends reduced. + +6. Nodes have two sets of indices + - Indices representing the size of data they produce. + - Indices representing the loops required to iterate over them. + +7. FFT nodes entirely destroy their spatial indices. + +8. Nodes access data by providing index bindings for all indices they destroy. + +9. Nodes set data by providing index bindings for all indices they create.