From 357ab4102125da41db003f3b8367731d47962c94 Mon Sep 17 00:00:00 2001 From: Francis Russell Date: Tue, 21 Feb 2012 17:04:01 +0000 Subject: [PATCH] Add some notes on allocation. --- docs/allocation.txt | 37 ++++++++++++++++++++ NOTES => docs/code_generation_strategies.txt | 0 2 files changed, 37 insertions(+) create mode 100644 docs/allocation.txt rename NOTES => docs/code_generation_strategies.txt (100%) diff --git a/docs/allocation.txt b/docs/allocation.txt new file mode 100644 index 0000000..a0bd3f6 --- /dev/null +++ b/docs/allocation.txt @@ -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. diff --git a/NOTES b/docs/code_generation_strategies.txt similarity index 100% rename from NOTES rename to docs/code_generation_strategies.txt -- 2.47.3