Skip to content
Snippets Groups Projects
Commit d51b401b authored by James Willis's avatar James Willis
Browse files

Merge branch 'master' into swift-velociraptor-C

parents 334d21ab 4b8138ce
Branches
Tags
1 merge request!578Swift velociraptor
Showing
with 362 additions and 198 deletions
......@@ -26,19 +26,29 @@ examples/swift_mpi
examples/*/*.xmf
examples/*/*.h5
examples/*/*.png
examples/*/*.mp4
examples/*/*.txt
examples/*/*.dot
examples/*/restart/*
examples/*/used_parameters.yml
examples/*/unused_parameters.yml
examples/*/*/*.xmf
examples/*/*/*.png
examples/*/*/*.mp4
examples/*/*/*.txt
examples/*/*/*.dot
examples/*/*/*.rst
examples/*/*/*.hdf5
examples/*/snapshots*
examples/*/restart/*
examples/*/*/used_parameters.yml
examples/*/err_file*
examples/*/out_file*
examples/*/stf_output*
examples/*/stf_ouput*
examples/*/log*
examples/*/*/unused_parameters.yml
examples/*/*.mpg
examples/*/gravity_checks_*.dat
tests/testActivePair
......@@ -64,7 +74,7 @@ tests/swift_dopair_125_standard.dat
tests/brute_force_125_perturbed.dat
tests/swift_dopair_125_perturbed.dat
tests/brute_force_pair_active.dat
tests/brute_force_dopair2_active.dat
tests/brute_force_dopair2_active.dat
tests/swift_dopair2_force_active.dat
tests/brute_force_periodic_BC_perturbed.dat
tests/swift_dopair_active.dat
......@@ -75,7 +85,9 @@ tests/test_nonsym_density_1_vec.dat
tests/test_nonsym_density_2_vec.dat
tests/test_nonsym_force_1_vec.dat
tests/test_nonsym_force_2_vec.dat
tests/potential.dat
tests/testGreetings
tests/testSelectOutput
tests/testReading
tests/testSingle
tests/testTimeIntegration
......@@ -98,6 +110,9 @@ tests/test125cells.sh
tests/test125cellsPerturbed.sh
tests/testParser.sh
tests/testReading.sh
tests/testSelectOutput.sh
tests/unused_parser_output.yml
tests/used_parser_output.yml
tests/testAdiabaticIndex
tests/testRiemannExact
tests/testRiemannTRRS
......@@ -112,6 +127,11 @@ tests/benchmarkInteractions
tests/testGravityDerivatives
tests/testPotentialSelf
tests/testPotentialPair
tests/testEOS
tests/testEOS*.txt
tests/testEOS*.png
tests/testUtilities
tests/testCbrt
theory/latex/swift.pdf
theory/SPH/Kernels/kernels.pdf
......@@ -292,4 +312,7 @@ sympy-plots-for-*.tex/
*.xdy
# macOS
*.DS_Store
\ No newline at end of file
*.DS_Store
#ctags
*tags
......@@ -96,18 +96,21 @@ SWIFT depends on a number of third party libraries that should be available
before you can build it.
- HDF5: a HDF5 library (v. 1.8.x or higher) is required to read and
write particle data. One of the commands "h5cc" or "h5pcc"
should be available. If "h5pcc" is located them a parallel
HDF5 built for the version of MPI located should be
provided. If the command is not available then it can be
located using the "--with-hfd5" configure option. The value
should be the full path to the "h5cc" or "h5pcc" commands.
- MPI: to run on more than one node an MPI library that fully
supports MPI_THREAD_MULTIPLE. Before running configure the
"mpirun" command should be available in the shell. If your
- HDF5:
A HDF5 library (v. 1.8.x or higher) is required to read and
write particle data. One of the commands "h5cc" or "h5pcc"
should be available. If "h5pcc" is located then a parallel
HDF5 built for the version of MPI located should be
provided. If the command is not available then it can be
located using the "--with-hdf5" configure option. The value
should be the full path to the "h5cc" or "h5pcc" commands.
SWIFT makes effective use of parallel HDF5 when running on more than
one node, so this option is highly recommended.
- MPI:
To run on more than one node an MPI library that fully
supports MPI_THREAD_MULTIPLE is required. Before running configure
the "mpirun" command should be available in the shell. If your
command isn't called "mpirun" then define the "MPIRUN"
environment variable, either in the shell or when running
configure.
......@@ -116,57 +119,69 @@ before you can build it.
much like the CC one. Use this when your MPI compiler has a
none-standard name.
- GSL: To use cosmological time integration, a version of the GSL
must be available.
- GSL:
To use cosmological time integration, a version of the GSL
must be available.
- libtool: The build system relies on libtool as well as the other autotools.
- FFTW 3.x:
To run with periodic gravity forces, a build of the FFTW 3
library must be available. Note that SWIFT does not make use
of the parallel capability of FFTW. Calculations are done by
single MPI nodes independently.
Optional Dependencies
=====================
- libtool:
The build system relies on libtool as well as the other autotools.
- METIS: a build of the METIS library can be optionally used to
optimize the load between MPI nodes (requires an MPI
library). This should be found in the standard installation
directories, or pointed at using the "--with-metis"
configuration option. In this case the top-level
installation directory of the METIS build should be
given. Note to use METIS you should at least supply
"--with-metis".
Optional Dependencies
=====================
- libNUMA: a build of the NUMA library can be used to pin the threads
to the physical core of the machine SWIFT is running
on. This is not always necessary as the OS scheduler may
do a good job at distributing the threads among the
different cores on each computing node.
- METIS:
a build of the METIS library can be optionally used to
optimize the load between MPI nodes (requires an MPI
library). This should be found in the standard installation
directories, or pointed at using the "--with-metis"
configuration option. In this case the top-level installation
directory of the METIS build should be given. Note to use
METIS you should supply at least "--with-metis".
- TCMalloc: a build of the TCMalloc library (part of gperftools) can
be used to obtain faster allocations than the standard C
malloc function part of glibc. The option "-with-tcmalloc"
should be passed to the configuration script to use it.
- libNUMA:
a build of the NUMA library can be used to pin the threads to
the physical core of the machine SWIFT is running on. This is
not always necessary as the OS scheduler may do a good job at
distributing the threads among the different cores on each
computing node.
- tcmalloc / jemalloc / TBBmalloc:
a build of the tcmalloc library (part of gperftools), jemalloc
or TBBmalloc can be used be used to obtain faster and more
scalable allocations than the standard C malloc function part
of glibc. Using one of these is highly recommended on systems
with many cores per node. One of the options
"--with-tcmalloc", "--with-jemalloc" or "--with-tbbmalloc"
should be passed to the configuration script to use it.
- gperftools: a build of gperftools can be used to obtain good
profiling of the code. The option "-with-profiler"
needs to be passed to the configuration script to use
it.
- gperftools:
a build of gperftools can be used to obtain good profiling of
the code. The option "--with-profiler" needs to be passed to
the configuration script to use it.
- DOXYGEN:
the doxygen library is required to create the SWIFT API
documentation.
- DOXYGEN: the doxygen library is required to create the SWIFT API
documentation.
- python:
Examples and solution script use python and rely on the numpy
library version 1.8.2 or higher.
- python: Examples and solution script use python and rely on the
numpy library version 1.8.2 or higher.
SWIFT Coding style
==================
The SWIFT source code is using a variation of the 'Google' style. The
script 'format.sh' in the root directory applies the clang-format-3.8
tool with our style choices to all the SWIFT C source file. Please
apply the formatting script to the files before submitting a merge
request.
The SWIFT source code uses a variation of 'Google' style. The script
'format.sh' in the root directory applies the clang-format-3.8 tool with our
style choices to all the SWIFT C source file. Please apply the formatting
script to the files before submitting a merge request.
This diff is collapsed.
......@@ -765,8 +765,9 @@ INPUT += @top_srcdir@/src/gravity/Default
INPUT += @top_srcdir@/src/stars/Default
INPUT += @top_srcdir@/src/riemann
INPUT += @top_srcdir@/src/potential/point_mass
INPUT += @top_srcdir@/src/cooling/none
INPUT += @top_srcdir@/src/chemistry/none
INPUT += @top_srcdir@/src/equation_of_state/ideal_gas
INPUT += @top_srcdir@/src/cooling/EAGLE
INPUT += @top_srcdir@/src/chemistry/EAGLE
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
......@@ -817,7 +818,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS =
EXCLUDE_PATTERNS = *.md
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
......@@ -1956,7 +1957,7 @@ MACRO_EXPANSION = YES
# The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_ONLY_PREDEF = YES
EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES, the include files in the
# INCLUDE_PATH will be searched if a #include is found.
......@@ -1990,8 +1991,10 @@ INCLUDE_FILE_PATTERNS =
PREDEFINED = "__attribute__(x)= "
PREDEFINED += HAVE_HDF5
PREDEFINED += HAVE_FFTW
PREDEFINED += WITH_MPI
PREDEFINED += WITH_VECTORIZATION
PREDEFINED += __GNUC__
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
......
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment