]>
git.unchartedbackwaters.co.uk Git - francis/ofc.git/log
Francis Russell [Sat, 19 May 2012 11:11:04 +0000 (12:11 +0100)]
Attempt to fix SPAM3 iteration.
Francis Russell [Sat, 19 May 2012 10:36:52 +0000 (11:36 +0100)]
Ignore negative frequencies on converting from reciprocal to psinc.
Francis Russell [Tue, 8 May 2012 18:19:49 +0000 (19:19 +0100)]
Work around weird Fortran unary operator handling.
Fortran dislikes unary plus or minus on right right hand side of
an arithmetic operator.
Francis Russell [Tue, 8 May 2012 16:18:54 +0000 (17:18 +0100)]
Correctly scale inner product integral.
Francis Russell [Tue, 8 May 2012 16:13:01 +0000 (17:13 +0100)]
Add matrix element assignment.
Francis Russell [Tue, 8 May 2012 15:46:03 +0000 (16:46 +0100)]
Generate SPAM3 iteration code.
Francis Russell [Tue, 8 May 2012 08:56:09 +0000 (09:56 +0100)]
Start work on assignment iteration.
Francis Russell [Mon, 7 May 2012 23:33:52 +0000 (00:33 +0100)]
Rename ProducerStatement to IteratedStatement.
Francis Russell [Thu, 3 May 2012 18:23:27 +0000 (19:23 +0100)]
Add nodes on ONETEP's matrix and function distribution.
Francis Russell [Thu, 3 May 2012 16:32:26 +0000 (17:32 +0100)]
Add code generation for inner product.
Francis Russell [Thu, 3 May 2012 16:31:51 +0000 (17:31 +0100)]
Add min and max intrinsics to code generator.
Francis Russell [Thu, 3 May 2012 15:40:26 +0000 (16:40 +0100)]
Handle origin of fields.
Francis Russell [Thu, 3 May 2012 01:08:17 +0000 (02:08 +0100)]
Add field scaling operator.
Francis Russell [Thu, 3 May 2012 00:00:21 +0000 (01:00 +0100)]
Add conversion from reciprocal to psinc space.
Francis Russell [Wed, 2 May 2012 19:30:38 +0000 (20:30 +0100)]
Implement application of laplacian operator.
Francis Russell [Wed, 2 May 2012 15:13:45 +0000 (16:13 +0100)]
Generate code to transform into reciprocal space.
Francis Russell [Tue, 1 May 2012 17:36:26 +0000 (18:36 +0100)]
Generate calls for copying PPD data to FFT-box.
Francis Russell [Tue, 1 May 2012 14:00:56 +0000 (15:00 +0100)]
Initial FunctionSignature implementation.
Francis Russell [Tue, 1 May 2012 09:14:43 +0000 (10:14 +0100)]
Work on converting to reciprocal space.
Francis Russell [Tue, 1 May 2012 05:27:54 +0000 (06:27 +0100)]
Add array allocation/deallocation statements.
Francis Russell [Tue, 1 May 2012 04:33:32 +0000 (05:33 +0100)]
Skeleton for fragment-based code generation.
Francis Russell [Mon, 30 Apr 2012 18:15:48 +0000 (19:15 +0100)]
More work on tree generation.
Francis Russell [Thu, 26 Apr 2012 22:38:34 +0000 (23:38 +0100)]
Start work on pattern matching.
Francis Russell [Thu, 26 Apr 2012 17:35:18 +0000 (18:35 +0100)]
Build back-end independent DSL representation.
Francis Russell [Tue, 17 Apr 2012 17:53:57 +0000 (18:53 +0100)]
Start work on different composition strategy.
Francis Russell [Tue, 17 Apr 2012 13:23:43 +0000 (14:23 +0100)]
Work on index binding.
Francis Russell [Mon, 16 Apr 2012 23:28:28 +0000 (00:28 +0100)]
Don't use wrappers to bind indices.
Francis Russell [Mon, 16 Apr 2012 10:37:28 +0000 (11:37 +0100)]
Move IndexBindings into separate file.
Francis Russell [Sun, 15 Apr 2012 17:27:00 +0000 (18:27 +0100)]
Ignore composition issues for now.
It's unclear how to correctly compose the code fragments generated by
the various operands. Instead, let's just have everything create
ProducerStatements and merge them.
Francis Russell [Tue, 10 Apr 2012 09:57:03 +0000 (10:57 +0100)]
Work on SpatialRestriction consumer/producer.
Francis Russell [Tue, 10 Apr 2012 09:55:07 +0000 (10:55 +0100)]
Add if statement generation.
Francis Russell [Tue, 10 Apr 2012 01:16:36 +0000 (02:16 +0100)]
Add tightbox centres to indices from PPDFunctionSet.
Francis Russell [Mon, 9 Apr 2012 21:03:57 +0000 (22:03 +0100)]
Switch back to "fftbox" not taking an index parameter.
Francis Russell [Mon, 9 Apr 2012 20:59:50 +0000 (21:59 +0100)]
Move public fields into OnetepTypes.
Francis Russell [Mon, 9 Apr 2012 18:51:50 +0000 (19:51 +0100)]
Re-enable construction of SpatialRestriction node.
The SpatialRestriction node corresponds to a FFT-box. We need to
specify where the FFT-box is to be constructed, so we have to pass an
index variable to "fftbox" as well. This is ugly, but we can just about
handle it in our current parser.
Francis Russell [Mon, 9 Apr 2012 17:06:49 +0000 (18:06 +0100)]
Add index binding operators to expression tree.
Francis Russell [Mon, 9 Apr 2012 08:06:04 +0000 (09:06 +0100)]
Include indexing in trivial test input.
Francis Russell [Sun, 8 Apr 2012 23:11:23 +0000 (00:11 +0100)]
Have PPDFunctionSet generate indices.
Francis Russell [Sun, 8 Apr 2012 19:58:36 +0000 (20:58 +0100)]
Calculate x, y, z & data value in PPDFunctionSet.
Francis Russell [Sun, 8 Apr 2012 03:34:44 +0000 (04:34 +0100)]
Implement Fortran line wrapping.
Francis Russell [Sun, 8 Apr 2012 02:57:00 +0000 (03:57 +0100)]
Fix so generated code compiles (except for long lines).
Francis Russell [Sun, 8 Apr 2012 02:14:49 +0000 (03:14 +0100)]
Generate variable declarations.
Francis Russell [Sun, 8 Apr 2012 01:14:57 +0000 (02:14 +0100)]
Make expressions and variables carry their types.
Francis Russell [Sat, 7 Apr 2012 23:15:10 +0000 (00:15 +0100)]
Implement precedence-based expression bracketing.
Francis Russell [Sat, 7 Apr 2012 20:12:25 +0000 (21:12 +0100)]
Finally get control flow nesting right in ProducerStatement.
Francis Russell [Sat, 7 Apr 2012 19:55:13 +0000 (20:55 +0100)]
Enable topological sorting with priority function.
Francis Russell [Sat, 7 Apr 2012 19:20:12 +0000 (20:20 +0100)]
Switch to new sorting code in ProducerStatement.
Francis Russell [Sat, 7 Apr 2012 19:18:35 +0000 (20:18 +0100)]
Move queue implementations into new file.
Francis Russell [Sat, 7 Apr 2012 19:16:24 +0000 (20:16 +0100)]
Add priority queue wrapper.
Francis Russell [Sat, 7 Apr 2012 19:09:48 +0000 (20:09 +0100)]
Add graph implementation including topological sort.
Francis Russell [Sat, 7 Apr 2012 09:34:05 +0000 (10:34 +0100)]
Move more PPD-related expressions into new symbols.
Francis Russell [Sat, 7 Apr 2012 09:05:09 +0000 (10:05 +0100)]
Use better control-flow nesting in ProduderStatement.
When we do not have any dependencies between a loops, a predicates and
expressions, place expressions outside loops, but both loops and
expressions inside predicates.
Francis Russell [Fri, 6 Apr 2012 22:57:21 +0000 (23:57 +0100)]
Generate basic loop structures.
Francis Russell [Fri, 6 Apr 2012 18:12:14 +0000 (19:12 +0100)]
Reimplement transitive closure for better reuse.
Francis Russell [Fri, 6 Apr 2012 17:24:59 +0000 (18:24 +0100)]
Compute dependencies between constructs in ProducerStatement.
Francis Russell [Thu, 5 Apr 2012 18:01:02 +0000 (19:01 +0100)]
Add skeleton for Fortran generation.
Francis Russell [Thu, 5 Apr 2012 17:13:09 +0000 (18:13 +0100)]
Initial work on re-enabling tree builder and code generator.
Francis Russell [Thu, 5 Apr 2012 15:25:35 +0000 (16:25 +0100)]
Construct PPDFunctionSet producer iteration space.
Francis Russell [Wed, 4 Apr 2012 22:58:31 +0000 (23:58 +0100)]
Work on typing expressions.
Francis Russell [Wed, 4 Apr 2012 11:15:43 +0000 (12:15 +0100)]
More work on PPDFunctionSet.
Francis Russell [Wed, 4 Apr 2012 10:21:51 +0000 (11:21 +0100)]
Add ternary operator class.
Francis Russell [Wed, 4 Apr 2012 10:05:59 +0000 (11:05 +0100)]
Calculate PPD locations (in PPD co-ordinate system).
Francis Russell [Tue, 3 Apr 2012 18:16:01 +0000 (19:16 +0100)]
More work on characterising producers.
Francis Russell [Mon, 2 Apr 2012 16:36:11 +0000 (17:36 +0100)]
Random notes on consumers and producers.
Francis Russell [Fri, 30 Mar 2012 14:50:30 +0000 (15:50 +0100)]
Add incoherent thoughts about DSL operator semantics.
Francis Russell [Fri, 30 Mar 2012 09:47:46 +0000 (10:47 +0100)]
Replace array ranges with iteration symbols.
Francis Russell [Thu, 29 Mar 2012 19:19:08 +0000 (20:19 +0100)]
Ignore Vim swap files and only top-level build dir.
Francis Russell [Thu, 29 Mar 2012 19:13:37 +0000 (20:13 +0100)]
Work on expression representation.
Francis Russell [Wed, 28 Mar 2012 17:30:37 +0000 (18:30 +0100)]
Work on building types for code generation.
Francis Russell [Wed, 28 Mar 2012 16:10:24 +0000 (17:10 +0100)]
Disable most of existing code generation framework.
Francis Russell [Mon, 26 Mar 2012 16:43:13 +0000 (17:43 +0100)]
Remove old Python implementation.
Francis Russell [Wed, 21 Mar 2012 18:16:19 +0000 (18:16 +0000)]
Ignore generated files.
Francis Russell [Wed, 29 Feb 2012 15:56:40 +0000 (15:56 +0000)]
Fix typo in file name.
Francis Russell [Fri, 24 Feb 2012 19:14:19 +0000 (19:14 +0000)]
Add report on implementation issues.
Francis Russell [Fri, 24 Feb 2012 19:14:06 +0000 (19:14 +0000)]
Add some more work on the expression evaluation strategy.
Francis Russell [Wed, 22 Feb 2012 15:22:17 +0000 (15:22 +0000)]
Add notes on expression strategy.
Francis Russell [Tue, 21 Feb 2012 17:04:01 +0000 (17:04 +0000)]
Add some notes on allocation.
Francis Russell [Wed, 8 Feb 2012 19:12:49 +0000 (19:12 +0000)]
Rename Tree.scala to prevent ant always rebuilding.
Francis Russell [Wed, 8 Feb 2012 18:07:42 +0000 (18:07 +0000)]
Re-work tree rendering code.
Francis Russell [Wed, 8 Feb 2012 17:45:17 +0000 (17:45 +0000)]
Work on buffer placement.
Francis Russell [Tue, 7 Feb 2012 19:14:14 +0000 (19:14 +0000)]
Add trivial SpatialRestriction consumer.
Francis Russell [Tue, 7 Feb 2012 18:14:11 +0000 (18:14 +0000)]
Fix generated code so it compiles.
Francis Russell [Tue, 7 Feb 2012 18:03:57 +0000 (18:03 +0000)]
Move multiple IterationSpace classes into new files.
Francis Russell [Tue, 7 Feb 2012 17:48:13 +0000 (17:48 +0000)]
Generate something resembling PPD iteration code.
Francis Russell [Mon, 6 Feb 2012 20:59:11 +0000 (20:59 +0000)]
Work on producer/consumer model of transforms.
Francis Russell [Mon, 6 Feb 2012 12:33:15 +0000 (12:33 +0000)]
Beautify some debug output.
Francis Russell [Sat, 4 Feb 2012 15:32:49 +0000 (15:32 +0000)]
Improve tree rendering.
Francis Russell [Fri, 3 Feb 2012 17:47:53 +0000 (17:47 +0000)]
Construct sorted and fused loop hierarchy.
Francis Russell [Fri, 3 Feb 2012 16:45:25 +0000 (16:45 +0000)]
New index fusion implementation.
Francis Russell [Fri, 3 Feb 2012 08:41:45 +0000 (08:41 +0000)]
Generate loop headers and footers.
Francis Russell [Thu, 2 Feb 2012 19:44:18 +0000 (19:44 +0000)]
More work on fixing loop hierarchy.
Francis Russell [Thu, 2 Feb 2012 19:26:03 +0000 (19:26 +0000)]
Generate (rather flawed loop hierarchy).
Francis Russell [Wed, 1 Feb 2012 19:54:34 +0000 (19:54 +0000)]
Initial work on generating loop hierarchy.
Francis Russell [Tue, 31 Jan 2012 20:52:56 +0000 (20:52 +0000)]
Handle external indices differently.
Francis Russell [Mon, 30 Jan 2012 19:10:44 +0000 (19:10 +0000)]
Minor changes to index handling.
Francis Russell [Mon, 30 Jan 2012 18:53:26 +0000 (18:53 +0000)]
More updates to notes.
Francis Russell [Mon, 30 Jan 2012 16:08:08 +0000 (16:08 +0000)]
Extend notes.
Francis Russell [Wed, 25 Jan 2012 19:19:44 +0000 (19:19 +0000)]
More work on iteration generation.
Francis Russell [Wed, 25 Jan 2012 10:41:14 +0000 (10:41 +0000)]
Work on generating loop declarations.
Francis Russell [Wed, 25 Jan 2012 05:24:29 +0000 (05:24 +0000)]
Allocate storage for operations that remove indices.