0bbd6b4·Author: Roland Haas·Closed by: Roland Haas·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
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.
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.
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