aboutsummaryrefslogtreecommitdiff
path: root/Tools
Commit message (Collapse)AuthorAge
...
* Delay converting integers to realsErik Schnetter2012-08-10
| | | | Delay converting integers to reals, so that the simplification functions still act on integers. This improves the generated code.
* Handle Sign function while vectorisingErik Schnetter2012-07-25
|
* Don't generate large integers; convert them to CCTK_REAL insteadErik Schnetter2012-07-25
|
* CaKernel.m: Use CaKernel static kernelsIan Hinder2012-07-25
| | | Dynamic compilation slows down execution; we can re-enable it when we are optimising.
* Add CaKernel initialisation function to the scheduleIan Hinder2012-07-25
|
* Add BoundaryNoSync to BoundaryCalculationQErik Schnetter2012-07-24
|
* Require MPI in auto-generated thornsErik Schnetter2012-07-24
|
* Introduce cctk_ash, retire cctk_lsshErik Schnetter2012-07-03
| | | | | | | | | Introduce cctk_ash, describing the process-local array shape that has been allocated. This may be larger than cctk_lsh, the process-local shape that should be used. Retire cctk_lssh and related infrastructure to handle staggered grid functions.
* Correct expanding Scalar[]Erik Schnetter2012-06-13
| | | | | | | Handle kmadd and friends. Do not produce / operator; use ScalarINV instead to prevent problems with integer operands.
* Allow disabling UseJacobian for specific calculationsErik Schnetter2012-06-02
| | | | | Add UseJacobian as possible flag for calculations, which then overrides the thorn's UseJacobian setting.
* Implement additional vectorisation optimisationsErik Schnetter2012-05-30
| | | | | | | | | When vectorising, break the macros INV, SQR etc. apart, which allows further optimisations, such as avoinding the kmul in kmul[x, kdiv[1, y]]. Combine also operations on ToReal operands, so that these operations are performed on scalars, not on vectors, e.g. kmul[ToReal[omega], ToReal[omege]] now becomes ToReal[omega*omega].
* Add BoundaryNoSync value for Where in calculationsIan Hinder2012-05-02
| | | This is by analogy with InteriorNoSync. Ideally, this would be determined automatically. Less ideally, there would be a Sync -> True/False flag. But BoundaryNoSync is what we have.
* Use GetSchedule for calculations instead of accessing key directlyIan Hinder2012-05-02
|
* Calculation.m: Add GetSchedule functionIan Hinder2012-05-02
|
* Schedule.m: Fix bug from previous commitIan Hinder2012-04-30
|
* Schedule.m: List variables instead of groups in READS and WRITES linesIan Hinder2012-04-29
| | | This give more fine-grained control, and is consistent with CaKernel.
* Schedule.m: Add variablesSetInCalc and variablesReadInCalcIan Hinder2012-04-29
|
* Schedule.m: Add TODO and correct variable declarationIan Hinder2012-04-29
|
* ScriptOutput.m: Add schedule stringIan Hinder2012-04-27
| | | We probably want to be able to express all that is needed without resorting to a Cactus schedule string.
* ScriptOutput.m: Add comments for unsupported Calculation optionsIan Hinder2012-04-27
|
* ScriptOutput.m: Remove PartialDerivatives commentIan Hinder2012-04-27
|
* ScriptOutput.m: Add derivative definitionsIan Hinder2012-04-27
|
* ScriptOutput.m: Improve parenthesisationIan Hinder2012-04-27
|
* ScriptOutput.m: Support several options and flagsIan Hinder2012-04-27
| | | | Also write comments into the output file containing unsupported options
* Move script flags variable into Kranc.mIan Hinder2012-04-27
|
* Add TriggerGroups to the list of options supported by a calculation.Barry Wardell2012-04-27
|
* Fix incorrectly thrown error message when a calculation does not need to be ↵Barry Wardell2012-04-27
| | | | split.
* ScriptOutput.m: Add variables and temporariesIan Hinder2012-04-26
|
* ScriptOutput.m: Correct indices in KroneckerDeltaIan Hinder2012-04-26
|
* Calculate mixed derivatives as repeated first derivativesErik Schnetter2012-04-25
| | | | This is controlled by a new calculation option SeparatedDerivatives2. It reduces the number of floating point operations and converts a large 2D stencil into a 1D stencil. This is possible when the first derivatives are stored in grid functions, and then they are computed in ghost zones. This is currently only true for CaKernel, not for the standard CPU code.
* Support vectorisation in simple code generatorErik Schnetter2012-04-25
|
* CaKernel.m: Use BoundaryCalculationQ to determine which template to useIan Hinder2012-04-25
|
* Calculation.m: Add BoundaryCalculationQIan Hinder2012-04-25
|
* Schedule.m: Only use a schedule alias if necessaryIan Hinder2012-04-25
| | | This was supposed to have been committed before.
* KrancThorn.m: Only generate hybrid code if UseCaKernel is TrueIan Hinder2012-04-25
|
* Calculation.m: Wrap split derivative/non-derivative calculations in a ↵Ian Hinder2012-04-23
| | | | schedule group
* Calculation.m: Wrap split calculations in a schedule groupIan Hinder2012-04-23
|
* Add and use GetCalculationScheduleNameIan Hinder2012-04-23
| | | A calculation has a name, stored in its Name entry. This is what is used when generating the code files, and is what users can use to do relative scheduling (before, after, etc). Sometimes (e.g. for CaKernel), the routine scheduled with the Cactus scheduler in schedule.ccl needs to have a different name. This is what is returned by GetCalculationScheduleName. We now always schedule such functions "<schedulename> as <name>" where <name> is the real name of the calculation.
* CaKernel.m: Wrap host/device routines in a schedule groupIan Hinder2012-04-23
|
* Add the ability for calculations to define additional Cactus schedule groupsIan Hinder2012-04-23
|
* CaKernel.m: Rename host calculations to have a HOST__ prefixIan Hinder2012-04-23
|
* ScriptOutput.m: Add rudimentary line-breakingIan Hinder2012-04-20
| | | | This will have to be improved later
* ScriptOutput.m: Align equations on '=' signsIan Hinder2012-04-20
|
* ScriptOutput.m: Eliminate spurious DefFnsIan Hinder2012-04-20
|
* ScriptOutput.m: Express derivatives by their correct namesIan Hinder2012-04-20
|
* ScriptOutput.m: Correct syntax for repeated indices in the same positionIan Hinder2012-04-20
|
* ScriptOutput.m: Use writeExpression instead of type-specific versionsIan Hinder2012-04-20
|
* ScriptOutput.m: Implement more of the script generatorIan Hinder2012-04-20
|
* Helpers.m: Create intermediate directories in EnsureDirectoryIan Hinder2012-04-18
|
* Output a Kranc script for every generated thorn (work in progress)Ian Hinder2012-04-18
| | | This is conditional on the new option GenerateScript