summaryrefslogtreecommitdiff
path: root/lib/sbin
Commit message (Collapse)AuthorAge
* Currently Cactus sets up flags like CPPFLAGS or CFLAGS by adding e.g.knarf2013-07-09
| | | | | | | | | | | | | | | | | | | | | | | | CPP_OPENMP_FLAGS. However, later it overwrites these again by their original value in sbin/ProcessConfiguration.pl (search for FIXME). This patch implements what the 'FIXME' suggests - accepting the drawbacks that are mentioned there: that configuration settings not originating from a thorn might not be forwarded from e.g., a .cactus/config file. MPI was one of these, but this is now handled differently anyway. With this patch, we would need to be aware of these and might need to add them to @allowed_opts in the future. Without the patch however, compilation might fail for perfectly valid setups. One of these is when using openmp, setting all the corresponding *_OPENMP_FLAGS, but not setting CPPFLAGS (only CPP_OPENMP_FLAGS). In this case ProcessConfiguration.pl will set CFLAGS to the version in the config file (*without* the -openmp), but it will leave CPPFLAGS to the version *with* -openmp. This later leads to a linker error in external libraries, since compilation there uses CPPFLAGS (with openmp), but the linker doesn't (It correctly uses CFLAGS, but this doesn't have openmp flags here). git-svn-id: http://svn.cactuscode.org/flesh/trunk@5034 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Take subdirectories into account when determining Fortran dependencieseschnett2013-06-24
| | | | | | | | | I have also rewritten and partly redesigned some other features, correcting some unrelated errors in the course, and simplifying the code a bit. I have also added some comments. git-svn-id: http://svn.cactuscode.org/flesh/trunk@5029 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Ensure auto-generated parameter declaration file ends with newlineeschnett2013-06-13
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@5026 17b73243-c579-4c4c-a9d2-2d5706c11dac
* check that providing function name is different from aliased function namerhaas2013-06-05
| | | | | | | | | | | | | | | | | | in interface.ccl. Before f an aliased function is declared in interface.ccl with PROVIDES FUNCTION fun WITH fun LANGUAGE C Cactus went into an infinite loop when calling that function. It did so because it creates a function 'fun' (the first) itself, which then calls (fun) the second. Instead, Cactus now produces an error for above declaration. The two 'fun' must be different for this to work, and Cactus should catch this. Reported by Frank Loeffler in ticket 1376. git-svn-id: http://svn.cactuscode.org/flesh/trunk@5024 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Allow setting parameter values at build timeeschnett2013-03-25
| | | | | | | | | | | | | | | Allow setting parameter values at build time, enabling additional compiler optimisations. I measured that e.g. ML_BSSN runs 5% to 10% faster if its parameters are chosen at build time. This introduces macros CCTK_PARAMETER${thorn}${parameter}. If unset, the parameter value is taken from the parameter file (default). If set at compile time, e.g. via a -D option in CPPFLAGS, this overrides the parameter database, and DECLARE_CCTK_PARAMETERS will always use this value. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4989 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add a bit of white space to generated codeeschnett2013-03-11
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4983 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Correct regular expressions for parsing configuration.ccl fileseschnett2013-01-18
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4940 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce OPTIONAL_IFACTIVEeschnett2013-01-18
| | | | | | | | | | | Following up on a discussion on the Cactus developers mailing list, this patch introduces a third way of indicating a desired capability: in addition to REQUIRES and OPTIONAL there is OPTIONAL_IFACTIVE. This behaves like OPTIONAL, except that the capability relationship only exists if the thorn providing the capability is active. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4938 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Do not buffer output from thorn configuration scriptseschnett2012-11-16
| | | | | | | | Use a pipe when reading output from thorn configuration scripts, and display the output right away instead of buffering it. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4912 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Reverting r4901 sicne it causes simfactory's test machinism to fail.rhaas2012-11-02
| | | | | | | | | Will re-investigate after the release in November. The patch itself is ok. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4902 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Always run tests with requested number of processesrhaas2012-10-29
| | | | | | | | | This is discussed in ticket #1075. Original patch by Erik Schnetter. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4901 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Use CCTKi_VarDataPtrI in CCTK_DECLARE_ARGUMENTSeschnett2012-10-26
| | | | | | | | Introduce new function CCTKi_VarDataPtrI which does not emit warnings. Use it when defining CCTK_DECLARE_ARGUMENTS. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4898 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Don't exclude flesh when handling requirementseschnett2012-10-26
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4897 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Optimise DECLARE_CCTK_ARGUMENTSeschnett2012-10-25
| | | | | | | | Remember variable indices in local static variables. Use these indices to obtain variable pointers. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4896 17b73243-c579-4c4c-a9d2-2d5706c11dac
* remove outdated 'cctkbug' script along with the corresponding make rule, see ↵knarf2012-10-23
| | | | | | #1127 git-svn-id: http://svn.cactuscode.org/flesh/trunk@4888 17b73243-c579-4c4c-a9d2-2d5706c11dac
* make sure testsuite can find MPI when CACTUS_CONFIGS_DIR is setrhaas2012-09-19
| | | | | | | patch by Steve Brandt git-svn-id: http://svn.cactuscode.org/flesh/trunk@4874 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Enforce that arrangement names are legal C identifierseschnett2012-09-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4872 17b73243-c579-4c4c-a9d2-2d5706c11dac
* increase default value of RELTOL to 1e-12rhaas2012-09-14
| | | | | | | | this makes the test system less prone to false alarms when quantities larger than of order unity are involved git-svn-id: http://svn.cactuscode.org/flesh/trunk@4871 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Correct autogenerating cctk_Capabilities.heschnett2012-09-13
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4870 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Use more readable variable names in CreateThornsHeaderseschnett2012-09-11
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4867 17b73243-c579-4c4c-a9d2-2d5706c11dac
* check that default values of restricted parameters are consistent betweenrhaas2012-09-05
| | | | | | | thorns git-svn-id: http://svn.cactuscode.org/flesh/trunk@4865 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Take REQUIRES and OPTIONAL into account when determining library link ordereschnett2012-08-10
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4860 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Generate a fatal error if trying to run tests on more than one process ↵hinder2012-07-24
| | | | | | without having MPI git-svn-id: http://svn.cactuscode.org/flesh/trunk@4849 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Declare argument const to prevent compiler warningeschnett2012-07-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4848 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Move MPI support from flesh to a thorneschnett2012-07-21
| | | | | | | | | | | | | | | | Move MPI support from flesh to thorn ExternalLibraries/MPI. This also requires thorns that call MPI directly to declare this in their configuration.ccl. Existing configurations using MPI need to include ExternalLibraries/MPI into their thorn list. * Declare that the flesh optionally uses MPI (because it needs to call MPI_Init) * Update test case mechanism to find out whether MPI is used * Handle configuration bindings for flesh * Don't special-case Crays any more when configuring Linux git-svn-id: http://svn.cactuscode.org/flesh/trunk@4847 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce cctk_ash, retire cctk_lssheschnett2012-07-04
| | | | | | | | | | | | 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. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4841 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changes for ticket #768sbrandt2012-06-18
| | | | | | | | Change per thorn -DTHORN_IS_xxx to a per thorn -I bindings/include/xxx git-svn-id: http://svn.cactuscode.org/flesh/trunk@4839 17b73243-c579-4c4c-a9d2-2d5706c11dac
* remove accidentally commited duplicate capabilites handling coderhaas2012-06-17
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4837 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Replace CCTK_RESTRICT by restrict, which is now defined by the flesheschnett2012-06-17
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4836 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Correct errors in handling optional capabilitieseschnett2012-06-17
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4835 17b73243-c579-4c4c-a9d2-2d5706c11dac
* remove bashisms, resolves ticket #901knarf2012-05-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4824 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Declare string array as "const char*"eschnett2012-05-11
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4822 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Handle requirements recursivelyeschnett2012-05-02
| | | | | | | | | | If A requires B, and B requires C, then A also requires C. This is necessary e.g. for include directories: If A includes a file from B, which in turn includes a file from C, then C's include directory must be in the search path of A. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4811 17b73243-c579-4c4c-a9d2-2d5706c11dac
* More error checking for capability nameseschnett2012-05-02
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4810 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Handle BEGIN/END INCLUDE in configuration.ccl script outputeschnett2012-05-02
| | | | | | | Translate BEGIN INCLUDE...END INCLUDE into include statements. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4809 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Prevent CST from hanging if a {} "" block is missing after a scheduling ↵knarf2012-05-01
| | | | | | block and before the end of the file. Closes #825. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4806 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Some cleanup: Use my, use better variable names, re-indent.eschnett2012-04-18
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4803 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Discard spaces after "LANGUAGE xxx" specification in interface.ccleschnett2012-03-12
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4795 17b73243-c579-4c4c-a9d2-2d5706c11dac
* implement per-variable tolerances for Cactus testsuites, for long ↵knarf2012-02-23
| | | | | | discussion, see ET ticket #114 git-svn-id: http://svn.cactuscode.org/flesh/trunk@4791 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Merge branch 'NewSchedule' into trunkhinder2012-01-31
| | | | | | | | | | | This provides support for specifying READS and WRITES clauses for each function scheduled in schedule.ccl. These list the variables which the scheduled function reads from or writes to. This supports future dependency-based scheduling. See https://docs.einsteintoolkit.org/et-docs/Adding_requirements_to_the_Cactus_scheduler for more information. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4788 17b73243-c579-4c4c-a9d2-2d5706c11dac
* make testsuite script aware of comments in lines with ActiveThorns statements.knarf2012-01-26
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4784 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Explicitly list passing test caseseschnett2012-01-05
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4780 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add number of processes to testsuite outputeschnett2011-12-12
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4776 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Properly check for errors when parsing parameter STEERABLE valueseschnett2011-12-12
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4775 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Allow zero timelevels in STORAGE timelevelseschnett2011-12-12
| | | | | | | | | | | This allows to simply set timelevels=0 to turn off storage without having to put an "if (do_something timelevels > 0)" into schedule.ccl files. It is also the only way to turn off storage inside of a GROUP of SCHEDULE statement based on a condition (other than scheduling the item twice, once with STORAGE, once without). git-svn-id: http://svn.cactuscode.org/flesh/trunk@4774 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Ignore comments in test output fileshinder2011-12-06
| | | | | | | | Previously the content of comment lines was ignored. This commit causes comment lines to be ignored completely, allowing differing numbers of them to compare as "the same". git-svn-id: http://svn.cactuscode.org/flesh/trunk@4773 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Don't sort thorn list unnecessarilyeschnett2011-11-26
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4771 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Pass unallocated arrays to Fortran as NULL pointerseschnett2011-11-09
| | | | | | | | The deleted comment is wrong. We should always pass unallocated arrays to Fortran to catch allocation errors. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4768 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve performance of Fortran index calculationseschnett2011-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | In Fortran, Cactus currently declares grid functions e.g. as (this is the expansion of DECLARE_CCTK_ARGUMENTS) REAL*8 gxx (X0metric,X1metric,X2metric) where X0metric etc. are integers passed into the routine. Each grid function group has its own, independent size. This has two disadvantages: - The compiler does not know that all grid functions have the same size (namely cctk_lsh), and thus has to perform array index calculations separately for each group - The argument list is longer than neded The enclosed patch declares grid functions via cctk_lsh. Grid arrays are still declared independently. This reduces the code size of e.g. GRHydro/GRHydro_Tmunu.F90 from 6836 to 6241 bytes on my system. I have not attempted to measure a performance difference. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4763 17b73243-c579-4c4c-a9d2-2d5706c11dac
* ThornUtils.pm: Escape # character for LaTeXhinder2011-10-19
| | | | | | Some parameter description strings contain "#" to mean "number". git-svn-id: http://svn.cactuscode.org/flesh/trunk@4745 17b73243-c579-4c4c-a9d2-2d5706c11dac