| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update and improve the auto-detection of the "restrict" keyword; add
more test cases to detect more possible failures. Disable testing the
array syntax
void foo (double A[restrict]);
where the "restrict" keyword is given within the square brackets;
instead, one can use the pointer syntax
void foo (double *restrict const A);
which is tested.
Add support for the gcc built-in function "builtin_expect", which
tells the compiler the value that an expression is most likely to
have.
Re-enable the (currently commented out) definitions for attribute(hot)
and attribute(cold).
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4702 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4701 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
The rules to build CUDA source files are very similar to those for C
and C++, and different from those for the Fortran. Reorder reorder
these makefile rules to make the code easier to understand.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4700 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4698 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenMP requires continuation lines in Fortran 90 (and possibly Fortran
77 as well though I have not checked that) to start with the OMP
sentinel (https://computing.llnl.gov/tutorials/openMP/#Directives).
This patch ensures that a sentinel OMP or HPF is repeated when a line
starting with that sentinel is broken to limit its length to 132
characters.
It also adds a case-insensitive flag to the check for "!" like comments
and adds extra backslashes to the standard_comments regex to properly
match $OMP after all metacharacters have been handled.
Tested with LoopControl's Fortran interface on gcc 4.5,Intel 11.1 and
PGI.
(Patch by Roland Haas)
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4697 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
functions into a new file cctk_ScheduleFunctions.h, which is included
into cctk.h.
This is done only for C (and C++) since Fortran prototypes cannot be
declared at file scope.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4696 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
functions into a new file cctk_ScheduleFunctions.h, which is included
into cctk.h.
This is done only for C (and C++) since Fortran prototypes cannot be
declared at file scope.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4695 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
PATCH, GIT available
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4694 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4693 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4692 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4691 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
actually uses that very variable for a list of default options. Use GZIP_CMD instead
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4690 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4689 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4688 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the event of missing {}'s, the code actually went into an endless
loop. The culprit was the while immediately following the error
message. It was not capable of detecting end of file (i.e. when
$data->[$line_number] became undefined). I added checks to ensure
$data->[$Line_number] was defined in two additional while loops.
[patch from Steve Brandt]
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4687 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
better solution should be found, but this at least doesn't produce an error message now
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4686 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
should be called CUCC, not NVCC. nvcc is only NVidia's CUDA C compiler.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4685 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4684 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4683 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cactus supports a variable OPTIMISE=yes/no to control whether optimisation is performed during compilation. Setting this variable to "yes" (for example, make sim-config OPTIMISE=yes) adds the flags in C_OPTIMISE_FLAGS to CFLAGS so that optimisation is performed. This is the default. Setting OPTIMISE=no does not add the flags. For gcc, this results in an unoptimised configuration as gcc assumes -O0 as the default. The Intel compiler, however, uses -O2 as the default. Hence, setting OPTIMISE=no has no effect on Intel, and -O2 is still used.
This patch adds new configuration options C_NO_OPTIMISE_FLAGS, CXX_NO_OPTIMISE_FLAGS, F77_NO_OPTIMISE_FLAGS and F90_NO_OPTIMISE_FLAGS to complement the *_OPTIMISE_FLAGS options. These are added to the flags when OPTIMISE=no is used, and they default to -O0, which for the commonly used gcc and Intel compilers will lead to an unoptimised configuration.
This commit adds the corresponding documentation to the UsersGuide.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4682 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
Cactus supports a variable OPTIMISE=yes/no to control whether optimisation is performed during compilation. Setting this variable to "yes" (for example, make sim-config OPTIMISE=yes) adds the flags in C_OPTIMISE_FLAGS to CFLAGS so that optimisation is performed. This is the default. Setting OPTIMISE=no does not add the flags. For gcc, this results in an unoptimised configuration as gcc assumes -O0 as the default. The Intel compiler, however, uses -O2 as the default. Hence, setting OPTIMISE=no has no effect on Intel, and -O2 is still used.
This patch adds new configuration options C_NO_OPTIMISE_FLAGS, CXX_NO_OPTIMISE_FLAGS, F77_NO_OPTIMISE_FLAGS and F90_NO_OPTIMISE_FLAGS to complement the *_OPTIMISE_FLAGS options. These are added to the flags when OPTIMISE=no is used, and they default to -O0, which for the commonly used gcc and Intel compilers will lead to an unoptimised configuration.
This requires a CONFIG-reconfig, but this is not enforced because this option doesn't affect most people, and failing to -reconfig is not fatal.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4681 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
The regular expression used to match variable settings was absorbing
whitespace into the variable value. Changing to a non-greedy RE fixes
this. This problem caused GSL to not find its directory, as it didn't
expect a space on the end of GSL_DIR.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4667 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4664 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Correctly load parameter files with DOS line-endings
Before this commit, when a parameter file with DOS line-endings was
used, certain features of Cactus did not work correctly. For example,
setting an output directory of $parfile would create an output
directory named "$parfile" instead of expanding the parameter
filename. This commit converts any CR-LF sequences to LF immediately
after the parameter file is loaded.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4663 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
gcc' __attribute__(__aligned__(...)) if present. This is necessary for
vectorisation.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4662 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4661 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
cctki_Capabilities.h was renamed to cctk_Capabilities.h.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4660 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thorns can specify that they can make use of a particular capability
(for example HDF5), but that it is not absolutely required. It is
currently not possible to detect a capability in the source code or
make system of a thorn because there is no preprocessor macro and no
make variable defined to indicate that the capability is available.
Additionally, the preprocessor definitions which are explicitly
provided by a capability are written to an include file which is
malformed and hence these definitions cannot be read. This commit:
* Introduces makefile and preprocessor variables HAVE_CAPABILITY_<cap>
for each provided capability
* Removes the incorrect definition line causing the include file to be
malformed
* Renames cctki_Capabilities.h to cctk_Capabilities.h and causes
cctk_Capabilities.h to be included from cctk.h by all thorns
* Excludes cctk_Capabilities.h from dependency checking (dependencies
of the files included from this one will be sufficient)
[Patch from Ian Hinder]
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4659 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
__attribute__((noinline)) if that is supported by the compiler.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4658 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4657 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
special CPP flags for debugging. These complement the existing
C_DEBUG_FLAGS and CPPFLAGS. In particular, the following flags are
added:
CPP_DEBUG_FLAGS
FPP_DEBUG_FLAGS
CPP_OPTIMISE_FLAGS
FPP_OPTIMISE_FLAGS
CPP_PROFILE_FLAGS
FPP_PROFILE_FLAGS
CPP_OPENMP_FLAGS
FPP_OPENMP_FLAGS
CPP_WARN_FLAGS
FPP_WARN_FLAGS
Applications are e.g. adding -Wall to CPP_WARN_FLAGS, or -fopenmp to
CPP_OPENMP_FLAGS.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4656 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
be searched when the openmpi binaries are executed. This can happen e.g. when using openmpi which was compiled with the intel compiler, but the corresponding intel module wasn't loaded
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4655 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
Add functions CCTK_VectGF1D, CCTK_VectGF2D etc. and the corresponding
macros CCTK_VECTGFINDEX1D etc. that allow indexing into vector grid
variables. Vector grid variables require an additional index, namely
the vector index; these functions simplify using them.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4654 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Modify force-reconfigure to force people to reconfigure their builds
because the way unsued variables are handles changed.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4653 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
module files outside of scratch can be found, closes ET ticket #99
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4652 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
Cactus variables might be unused and should not be reported as such. This closes ET ticket #1
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4651 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4650 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4647 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4646 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4645 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
meaningful error message
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4644 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
name and host name
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4643 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
ExternalLibraries/HDF5 has changed. This may otherwise lead to build
failures in thorns that use HDF5.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4642 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4641 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
since the default compiler on some Darwin systems doesn't understand
it
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4640 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
modifiers, and some of them apparently allow non-full variable names. My mistake, not corrected.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4639 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4638 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
schedule tree, and give corresponding warning message
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4637 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4636 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4635 17b73243-c579-4c4c-a9d2-2d5706c11dac
|