Presync

Merged
#88 · Created  · Last updated

Merged pull request

Merged in presync (pull request #88)

0bbd6b4·Author: ·Closed by: ·2020-02-28

Description

  • PreSync branch

  • Add definitions used by the PreSync stuff.

  • don't require where_spec

  • Fix whitespace bug in piraha, make psync error checking optional

  • Cactus: fix documented list of arguments to CCTK_SchedulePrintTimesToFile

  • Cactus: fix docs for CCTK_ScheduleQueryCurrentFuncion

  • Cactus: document CCTK_ScheduleTraverse

  • Cactus: make ThornDoc target work again

  • Cactus: test default string regex and provide some error handling

  • Cactus: move trim_quotes into CSTUtils

  • Cactus: move use Piraha into low-level parsers

  • fix indentation of scheduling output

  • Fix zelmani stress tests. 1) reset the default variable scope to PRIVATE between the piraha parameter parser and the old parser 2) normalize values better that are produced by piraha and the old parser for the schedule parser

  • Added comments explaining perl regular expressions.

  • Multiple syntax errors enabled through a "syntax" pattern element.

  • Demote warnings to level 1 so they don't immediately cause the code to exit. Add a call to error at the end if any warnings were triggered.

  • Update comments replying to Roland's requests for clarification.

  • Add comments.

  • Added comments clarifying the purpose of the showError function and the syntax pattern element.

  • Warn level 1 discards file and line information. Because of that, save the line number of the first error and feed it to error when multiple syntax errors are detected.

  • Speedup branch implements caching of CCL files.

  • Add comments for code to speed up piraha parser through caching.

  • Remove accidently checked in debug code

  • Switch from using homemade mkdirs() function to standard make_path().

  • Access the mtime field on $ccl_file as well.

  • 1) Create a new parser_compare() routine which generalizes the procedure of comparing key/value pairs generated by the old parser and the new. 2) Turn the old parser off by default. 3) Convert some of the confess() errors to CST_error(). 4) Fix CST_error() to allow $full_warnings to be set. 5) Update the caching code so that it checks the peg modification time, too.

  • Allow old parser, new parser, or both

  • Make the schedule and config parsers look at main::cctk_parser. Also, fix the search for nonexistant groups.

  • Fix indentation, add comments as per Frank's request, and found and fixed a bug which prevented cctk_parser=="old" from working.

  • Fixed

  • Added new Perl script to generate new DECLARE macros for functions. Incorporated script into CST.

  • Committing revised rdwr Perl script.

  • Update of grammar Defaults for parsing reads/writes

  • Parsing improved - combined loops and logicals to reduce operations. Introducing elements for extension to Fortran code compatibility.

  • Fix conflict

  • Added Fortran compatibility. Added rd/wr functionality for variable groups.

  • Added support for implicit thorn and region options in rd/wr scheduling. Switched to explicit rd/wr scheduling of past timelevels.

  • Build RDRW parser

  • Added CCTK_PSVarDataPtr function for use with Presync.

  • Removed section which checks for invalid rd/wr variables. This is done at compile time. Also, variables which are turned on/off at runtime will currently cause this to trigger, killing the code.

  • Fixed Perl and grammar to properly handle implicit regions/thorns.

  • Unified #define and typedef declarations into header. Changes previously required finding every instance in several thorns; now those just include PreSync.h

  • Fixed bug for generating Fortran macros.

  • Fixed Fortran macro generation for Array type variables.

  • Fix error reporting.

  • switch to parse_ccl

  • Changed PreSync macro generation to include union of all rd/wr declarations for any given subroutine.

  • Resolved a bug when a Fortran and C function are both scheduled with the same name.

  • Code changed to respect case insensitivity for group variable type in interface.ccl.

  • Fixed error in PreSync macro generation

    Macro generation failed to properly account for arrays of multiple dimensions. This only affected macro generation for Fortran code.

  • Fix error reporting in presync

  • Handle capitalization issue.

  • Changed key hierarchy for hash tables

  • Removed redundant function introduced during debugging

  • Cactus: fix regex used to check for Cactus timebins

  • Cactus: restoe ERROR when trying to schedule in unknown timebin

  • Change the name of the special macro file to _checked.

  • This commit makes it possible to check parameters of other thorns in the schedule.ccl file.

  • Implemented PreSync backward compatibility changes

  • Improve error messages and apply to new cases.

  • Cactus: document meaning of non-zero return code of ParseFile

  • Flesh: Support Darwin 17.5.0

  • Cactus: fix documenation for CCTK_ScheduleTraverse

    it gave the wrong function name

  • Cactus: Support Darwin 17.6.0

  • Cactus: output actual path to config-info on failure

    this needs to get the cofiguration name from env variables and setup_confguration.pl provides this in the EXE variable as the name of the executable

  • Cactus: Support Darwin 17.7.0

  • Cactus: Support GCC 8 calling convention for Fortran strings

  • Cactus: use 64bit string lengths for ifort on amd64 machines

  • Cactus: Add cGH fields that describe grid function alignment

    New cGH fields “cctk_alignment” and “cctk_alignment_offset”

  • Cactus: do not include "unknown routine" in error message

    all error messages about incorrect parameters are of that type and it clutters the display unecessaryly

  • Cactus: Handle recursive scheduler calls better

  • Cactus: Describe configuration.ccl files when running CST stage

    Describe the configuraiton.ccl files in the same way as the other *.ccl files when running the CST stage.

  • Cactus: Replace some sprintf with snprintf calls

  • Cactus: Delay decoding the Cactus::info_format parameter

    Delay decoding the Cactus::info_format parameter until after the parameter file has been read; otherwise, always the default value will be used.

  • Cactus: Check the number of clock values when accessing a timer

  • Cactus: Add safety checks when creating directories

  • Cactus: Beautify compile-time output

  • Cactus: Avoid compiler warnings for possibly unused variables

  • Cactus: Avoid warnings in shell script

  • Cactus: Simplify code calling free

  • Cactus: Add missing call to free

  • Cactus: Update clang formatting settings

  • Cactus: Support Darwin 16.7.0

  • Cactus: Add "my" declarations for many local variables in RunTestUtils.pl

  • Cactus: Initialize $numlines earlier to avoid uninitialized use

  • Make missing / wrong parameters an error, not a warning.

  • When presync is turned off, nothing is broken.

  • Saving work

  • Add exterior

  • Cactus: protect { in regular expressions

    perl 5.28 warns and perl 5.32 will abort

  • Parallel testing is now supported

  • Changed new macros to completely match old macro's declarations

  • Use Roland's parallel test tool

  • Revert parallel test mechanism

  • Don't assume the config is named sim

  • Add interiorwithboundary

  • Fix PEG

  • move interior before in

  • Finish fixing interiorwithboundary

  • Cactus: fix error checking in CST that was broken in presync

  • Cactus: use WriteFile in rdwr to avoid recompiles

  • Cactus: use deterministic ordering in cctk_Arguments_Checked.h

    perl's hashes are traversed randomly (intertionally, see https://perldoc.perl.org/perlsec.html#Algorithmic-Complexity-Attacks)

  • Cactus: use "undef" for undefined values, not an undefined variable

  • Cactus: correct using undef as undefined content

  • Fix declarations of CCTK_Checked

  • Changes for AMReX

  • Provide routine being compiled for error message

  • Quick fix

  • Better fix to schedule

  • Put back if

  • Get invalidates statements correctly parsed

  • Don't overwrite read clauses

  • Cactus: Correct type error in return value

  • Cactus: Add missing space in error message

  • require rdwr

  • CCTK_TraverseString: Always return all variables when "all" is selected

  • Flesh: Keep all 17 digits when converting real parameters to string

  • Flesh: Avoid accidental aliasing when evaluating parameters

    When a parse tree adds or multiplies three or more parameters, "v1" and "ret" would alias. This leads to wrong results when "v1" and "ret" hold different types.

  • Fortran changes...

  • Fix issue

  • Improving comments

  • Add comments

  • Update error message

  • Downgrade to warning

 

0 attachments

0 comments

Loading commits...