aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen
Commit message (Collapse)AuthorAge
...
* Add CSE (Common Subexpression Elimination)Erik Schnetter2009-04-27
|
* Add semisolons after DECLARE_CCTK_* macrosErik Schnetter2009-04-27
|
* Add (currently unused) macros and definitions for dealing with vectors of ↵Erik Schnetter2009-04-27
| | | | grid points. This may allow generating vectorised code in the future.
* Correct errors in handling FD and PD Jacobians: Save and restore the current ↵Erik Schnetter2009-04-27
| | | | Jacobians in the corresponding global variables.
* Use cctk_lssh instead of cctk_lsh when calculating grid function extents. ↵Erik Schnetter2009-04-27
| | | | | | | | | | | | This will allow future optimisations with cache-aligned memory allocations. Correct an error in declaring local variables for partial derivatives. Don't register constrained variables, which is in general not necessary but which can use much memory. Register symmetries in the schedule group SymmetryRegister instad of at basegrid.
* Add new calculation specification "ConditionalOnKeywords", which allows a ↵Erik Schnetter2009-04-27
| | | | list of keyword parameters (instead of only a single keyword parameter) which have to be set for the calculation to be scheduled.
* #include a few more header files into auto-generated C code.Erik Schnetter2009-04-27
|
* Add new tensor Zero3.Erik Schnetter2009-04-27
| | | | | | Add new FD operators. PD operators are translated into FD operators by applying Jacobians. Add a set of rules to simplify FD expressions, similar to the rules for PD expressions.
* Make "verbose" parameter an integer.Erik Schnetter2009-04-27
|
* Declare function arguments in auto-generated calculation functions as const.Erik Schnetter2009-04-27
| | | | | | | | | | | Generate code with 80 characters per line. Introduce new function AssignVariableInLoop, which differs from AssignVariable in that it is meant to handle grid point values, and never integers. Introduce new function TestForNaN, which explicitly tests grid point values for nan.
* Differencing.m: Added StandardUpwindDifferenceOperator (Peter Diener)Ian Hinder2009-04-26
|
* CalculationFunction.m: Add NoSimplify option to calculationsIan Hinder2009-04-22
|
* Correct memory leak in boundary conditions:Erik Schnetter2008-02-19
| | | | Create option tables only once, then re-use them
* Correct error in combining list of used include filesErik Schnetter2008-02-19
|
* Make "timelevels" parameter restrictedErik Schnetter2008-02-19
|
* Implement functionality to loop over all boundary points, including ghostErik Schnetter2008-02-19
| | | | points, and without synchronising afterwards.
* Made use of LoopControl optional.Ian Hinder2008-02-02
| | | | If you want to use it, pass UseLoopControl -> True to CreateKrancThorn.
* Erik: minor cosmetic changesIan Hinder2008-02-02
|
* Erik: added mandatory support for LoopControl.Ian Hinder2008-02-02
| | | | A subsequent patch will make this optional.
* Erik: Remove symmetry codeIan Hinder2008-02-02
| | | | | | This is done automatically nowadays, and this code is currently called in level mode, when it should be called in global mode. This causes a segfault.
* Erik: Add triggered groups optionIan Hinder2008-02-02
|
* Erik: bugfix: Declare variable as localIan Hinder2008-02-02
|
* Erik: Add ability to specify number of timelevels for evolved variables at ↵Ian Hinder2008-02-02
| | | | runtime
* Erik's addition of Extended parametersIan Hinder2008-02-02
|
* Erik's cosmetic changes and small amount of debugging code in KrancThorn.mIan Hinder2008-02-02
|
* Erik's cosmetic changes to Thorn.mIan Hinder2008-02-02
|
* Erik's moving of variable declarations inside the equation loopIan Hinder2008-02-02
|
* Erik's addition of comments to generated filesIan Hinder2008-02-01
|
* Erik's addition of () around macro argumentIan Hinder2008-02-01
|
* Erik's addition of more debugging codeIan Hinder2008-02-01
|
* Erik's fix of optimizer bug - should not have affected anythingIan Hinder2008-02-01
|
* Erik's addition of a comment before declaring derivativesIan Hinder2008-02-01
|
* Erik's cosmetic changesIan Hinder2008-02-01
|
* Erik's rename of the boundaries source fileIan Hinder2008-01-30
|
* Erik's additional documentation for DefineConnectionIan Hinder2008-01-30
|
* Corrected bug in optimization of finite differencing stencils.ianhin2007-11-16
| | | | | | Previous version would introduce a sign error in some cases. In practice, this bug affected only the second order second derivative, and the first order one sided derivative.
* Added ability to use the boundary normal vector in a calculationianhin2007-03-12
|
* Added InheritedKeywordParametersianhin2007-02-15
| | | | | | SKIPPED: Distribution/build-distribution
* Added 'AllowedSymbols' key to calculation structures. Allows you to ↵ianhin2007-02-06
| | | | manually specify that certain symbols are allowed; e.g. inherited parameters; which Kranc cannot know about itself.
* Extra checking on tensorial nature of Shorthands list.ianhin2007-01-23
| | | | More descriptive error messages when calculations fail validation checks.
* Added some debugging code, but commented it outianhin2007-01-23
|
* Finite differencing expressions optimized by precalculating multiplesianhin2006-11-14
| | | | | | | | | | | | | | | | | | | | | | | and divisions of grid spacing. CreateDifferencingHeader returns a list of 'pre-definitions' which are then computed outside the equation loop by CalculationFunction. AKA "why can't my compiler do such a simple optimization?" Partial derivatives are now assumed to commute, so occurrences of PD[f,2,1] are replaced in the equations by PD[f,1,2]. The unused ones are automatically not computed, as before. I wish that this had made a noticeable speed improvement (would have been big), but the compiler must have been intelligent enough to see these. Added khalf, kthird, ktwothird, kfourthird, keightthird computed outside the loop. What compiler on earth would not see these optimizations?? Factor out common expressions i.e. xx_ y_ + xx_ z_ -> xx(y+z). Intel, I have lost all respect for you. Remove RegularExpression from schedule matching, as it is not supported in Mathematica 4. Replaced with a simple StringMatchQ.
* Adding fmax and fmin as symbols in the sym contextianhin2006-11-09
|
* Added parameter for every calculation '_calc_every' and '_calc_offset'ianhin2006-09-22
| | | | | | | | | | | | | | | | | | | so that the calculation only happens if cctk_iteration % calc_every == calc_offset. Fixed CollectList in KrancThorn.m (it was disabled). Enabled MMA Simplify for expressions even when a CollectList has not be specified. Changed SYNC logic in KrancThorn.m: Calculations are now only SYNCed if they are restricted to the interior of the grid (using Where). Previously, all calculations were synced. This is a performance issue. Further, calculations in MoL_CalcRHS and MoL_RHSBoundaries are *never* SYNCed now. The SYNC of the evolved variables that always happens in cactus_boundaries.c should be enough. WARNING: you probably want to test that this does not break your code.
* math.h is now included as a system fileianhin2006-09-07
|
* Added 'includeSystemFile'ianhin2006-09-07
| | | | Support for new calculation convention
* Totally rework how the calculation is called. Now we generate a smallianhin2006-09-07
| | | | | | | wrapper function which calls a hand-written function in GenericFD depending on the loop type required. A function pointer to the 'Body' function is provided, and the Body function is autogenerated. Advantage is that the looping logic is now hand-written.
* Include system files using <> instead of "" (Erik's suggestion)ianhin2006-09-07
| | | | | | Include Symmetry.h Fix return type and values for scheduled functions (i.e. void)
* Note that we include Symmetry.h in the interface.ccl fileianhin2006-09-07
| | | | | | Add verbose parameter Add some support for SummationByParts (should still compile if thorn is not present)
* Added some support for SummationbyParts derivative operators.ianhin2006-09-07
|