summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Improve auto-detection of "restrict" keywordeschnett2011-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Regenerate configure fileeschnett2011-04-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4701 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Reorder CUDA makefile ruleseschnett2011-04-22
| | | | | | | | | 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
* Jian Tao: describe the flags to support CUDA programming in Cactus.knarf2011-04-19
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4698 17b73243-c579-4c4c-a9d2-2d5706c11dac
* f_file_processor.pl: Fix handling of continuation lines with OpenMPhinder2011-04-11
| | | | | | | | | | | | | | | | | | | | | | 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
* This patch makes the CST stage create prototypes for all scheduledeschnett2011-03-30
| | | | | | | | | | | 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
* This patch makes the CST stage create prototypes for all scheduledeschnett2011-03-30
| | | | | | | | | | | 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
* Force reconfiguring to make the new variables MAKE, TAR, GZIP_CMD,eschnett2011-03-30
| | | | | | | PATCH, GIT available git-svn-id: http://svn.cactuscode.org/flesh/trunk@4694 17b73243-c579-4c4c-a9d2-2d5706c11dac
* fix latexknarf2011-03-28
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4693 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add support for Darwin 10.7.0eschnett2011-03-23
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4692 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Export the MAKE variable to configuration scriptseschnett2011-03-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4691 17b73243-c579-4c4c-a9d2-2d5706c11dac
* don't use GZIP for the location of the gzip executable, because the latter ↵knarf2011-03-16
| | | | | | 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
* Let Cactus find the correct Intel compiler lib directoryknarf2011-03-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4689 17b73243-c579-4c4c-a9d2-2d5706c11dac
* let Cactus search for TAR GZIP PATCH and GIT while configuringknarf2011-03-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4688 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve error messages when parsing configuration.ccl fileseschnett2011-03-08
| | | | | | | | | | | | | 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
* don't try to update the Cactus flesh using CVS anymore - skip it instead. A ↵knarf2011-03-04
| | | | | | 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
* patch from Jian Tao: The configuration option to specify the CUDA C compiler ↵knarf2011-02-26
| | | | | | 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
* add CUDA support to the fleshknarf2011-02-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4684 17b73243-c579-4c4c-a9d2-2d5706c11dac
* include cctk_Termination.h from cctk.hknarf2011-02-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4683 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Ian Hinder:knarf2011-02-01
| | | | | | | | | | | | 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
* Ian Hinder:knarf2011-02-01
| | | | | | | | | | | 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
* Remove whitespace from option values passed on the "make" command linehinder2011-01-26
| | | | | | | | | | | 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
* Support Darwon 10.6.0 (Mac OS X 10.6.6)eschnett2011-01-06
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4664 17b73243-c579-4c4c-a9d2-2d5706c11dac
* from Ian Hinder:knarf2011-01-06
| | | | | | | | | | | | | | | 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
* Add CCTK_ATTRIBUTE_ALIGNED, which is auto-configured and expands toeschnett2011-01-04
| | | | | | | | 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
* Delete large "lib" directories without exceeding command line length limitationseschnett2011-01-04
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4661 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Force a rebuild of all Cactus configurations sinceeschnett2010-12-23
| | | | | | | cctki_Capabilities.h was renamed to cctk_Capabilities.h. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4660 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve optional requirement of capabilitieseschnett2010-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Autoconf CCTK_ATTRIBUTE_NOINLINE, which expands toeschnett2010-12-23
| | | | | | | __attribute__((noinline)) if that is supported by the compiler. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4658 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add example for CCTK_VECTGFINDEX3Deschnett2010-12-23
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4657 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add new configuration flags CPP_DEBUG_FLAGS etc., which allow passingeschnett2010-12-22
| | | | | | | | | | | | | | | | | | | | | | | 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
* use define OPENMPI_BIN_LIB_DIR to specify library directories which have to ↵knarf2010-12-01
| | | | | | 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 CCTK_VECTGFINDEX3D and friendseschnett2010-11-24
| | | | | | | | | | 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
* Force people to reconfigure their buildseschnett2010-11-24
| | | | | | | | 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
* make Cactus add include paths to the compiler options such that fortran ↵knarf2010-11-23
| | | | | | 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
* support __unused__ where known. This let's e.g. gcc know that especially the ↵knarf2010-11-23
| | | | | | 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
* Add support for Darwin 10.5.0eschnett2010-11-23
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4650 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Apply patch by Barry Wardell to fix the hyperlinks in the Reference Manualknarf2010-11-04
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4647 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Provide Fortran wrapper for CCTK_SyncGroupsI().rideout2010-11-03
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4646 17b73243-c579-4c4c-a9d2-2d5706c11dac
* use getpwuid($<) instead of getlogin() which returns an empty string on occationknarf2010-10-28
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4645 17b73243-c579-4c4c-a9d2-2d5706c11dac
* detect error in dimension size settings of grid arrays, and produce a ↵knarf2010-10-27
| | | | | | meaningful error message git-svn-id: http://svn.cactuscode.org/flesh/trunk@4644 17b73243-c579-4c4c-a9d2-2d5706c11dac
* output (a bit) more information in the testsuite summary: current time, user ↵knarf2010-10-26
| | | | | | name and host name git-svn-id: http://svn.cactuscode.org/flesh/trunk@4643 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Enforce reconfiguring Cactus configurations sinceeschnett2010-10-13
| | | | | | | | 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
* Update documentation of CCTK_ParameterSeteschnett2010-10-04
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4641 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Remove default option -std=gnu++0x for the Darwin gcc C++ compiler,eschnett2010-10-01
| | | | | | | | 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
* fix last commit (ooops). ValidateModifiers() is apparently called for all ↵knarf2010-09-29
| | | | | | 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
* add documentation as pdf for easy access through repository linkknarf2010-09-28
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4638 17b73243-c579-4c4c-a9d2-2d5706c11dac
* check return value of CCTK_VarIndex for check of if/while variable in ↵knarf2010-09-28
| | | | | | schedule tree, and give corresponding warning message git-svn-id: http://svn.cactuscode.org/flesh/trunk@4637 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Correct routine nameeschnett2010-09-17
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4636 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Jian Tao: typo of exporting the wrong variableknarf2010-09-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4635 17b73243-c579-4c4c-a9d2-2d5706c11dac