]> git.unchartedbackwaters.co.uk Git - francis/ofc.git/commitdiff
Add some notes on allocation.
authorFrancis Russell <francis@unchartedbackwaters.co.uk>
Tue, 21 Feb 2012 17:04:01 +0000 (17:04 +0000)
committerFrancis Russell <francis@unchartedbackwaters.co.uk>
Tue, 21 Feb 2012 17:04:01 +0000 (17:04 +0000)
docs/allocation.txt [new file with mode: 0644]
docs/code_generation_strategies.txt [moved from NOTES with 100% similarity]

diff --git a/docs/allocation.txt b/docs/allocation.txt
new file mode 100644 (file)
index 0000000..a0bd3f6
--- /dev/null
@@ -0,0 +1,37 @@
+Problem: we need to be able to persist the output of operands to
+temporary buffers.
+
+
+Case examples
+-------------
+
+- Matrix (treated as dense):
+1. Both indices have well defined ranges from 1 to n.
+2. Size of indices do not depend on each other.
+
+- Matrix (treated as sparse):
+1. Has a block sparse format.
+2. Depends on whether we know how to persist each block.
+3. Need to store offsets for each block.
+
+- PPD function set:
+1. PPD positions are dependent on all indices up to the ppd index.
+2. Tight-box positions are only dependent on function index.
+3. Data doesn't have especially well-defined ranges.
+4. Max range is bound of simulation cell (but what if multiple
+simulation cells?).
+5. We need explicit bounding to construct a FFT-box.
+
+
+Storage in a dense array
+------------------------
+
+1. If we know an index, we don't need to persist storage across it.
+2. When we persist storage, we can use known indices to restrict the
+size.
+
+Abstractions breakdown
+----------------------
+
+1. Spatial indices are typically independent since we cover rectangular
+regions.
similarity index 100%
rename from NOTES
rename to docs/code_generation_strategies.txt