| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5026 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4983 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4940 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4897 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
#1127
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4888 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
patch by Steve Brandt
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4874 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4872 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4870 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4867 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
thorns
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4865 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4860 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
without having MPI
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4849 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4848 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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, 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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4837 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4836 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4835 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4824 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4822 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4810 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Translate BEGIN INCLUDE...END INCLUDE into include statements.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4809 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4803 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4795 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
discussion, see ET ticket #114
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4791 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4784 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4780 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4776 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4775 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4771 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Some parameter description strings contain "#" to mean "number".
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4745 17b73243-c579-4c4c-a9d2-2d5706c11dac
|