Commit 0890b7d7 authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Updated list of SWIFT dependencies in INSTALL.swift

parent ce5d0537
...@@ -83,39 +83,65 @@ SWIFT depends on a number of third party libraries that should be available ...@@ -83,39 +83,65 @@ SWIFT depends on a number of third party libraries that should be available
before you can build it. before you can build it.
HDF5: a HDF5 library (v. 1.8.x or higher) is required to read and write - HDF5: a HDF5 library (v. 1.8.x or higher) is required to read and
particle data. One of the commands "h5cc" or "h5pcc" should be write particle data. One of the commands "h5cc" or "h5pcc"
available. If "h5pcc" is located them a parallel HDF5 built for the version should be available. If "h5pcc" is located them a parallel
of MPI located should be provided. If the command is not available then it HDF5 built for the version of MPI located should be
can be located using the "--with-hfd5" configure option. The value should provided. If the command is not available then it can be
be the full path to the "h5cc" or "h5pcc" commands. located using the "--with-hfd5" configure option. The value
should be the full path to the "h5cc" or "h5pcc" commands.
MPI: an optional MPI library that fully supports MPI_THREAD_MULTIPLE. - MPI: to run on more than one node an MPI library that fully
Before running configure the "mpirun" command should be available in the supports MPI_THREAD_MULTIPLE. Before running configure the
shell. If your command isn't called "mpirun" then define the "MPIRUN" "mpirun" command should be available in the shell. If your
environment variable, either in the shell or when running configure. command isn't called "mpirun" then define the "MPIRUN"
environment variable, either in the shell or when running
configure.
The MPI compiler can be controlled using the MPICC variable, much like The MPI compiler can be controlled using the MPICC variable,
the CC one. Use this when your MPI compiler has a none-standard name. much like the CC one. Use this when your MPI compiler has a
none-standard name.
METIS: a build of the METIS library can be optionally used to optimize the - libtool: The build system relies on libtool.
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".
libNUMA: a build of the NUMA library can be used to pin the threads to Optional Dependencies
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.
DOXYGEN: the doxygen library is required to create the SWIFT API - METIS: a build of the METIS library can be optionally used to
documentation. 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".
- 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: 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.
- 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.
......
...@@ -355,7 +355,7 @@ fi ...@@ -355,7 +355,7 @@ fi
AC_SUBST([TCMALLOC_LIBS]) AC_SUBST([TCMALLOC_LIBS])
AM_CONDITIONAL([HAVETCMALLOC],[test -n "$TCMALLOC_LIBS"]) AM_CONDITIONAL([HAVETCMALLOC],[test -n "$TCMALLOC_LIBS"])
# Check for -lprofiler usually part of the gpreftools along with tcmalloc. # Check for -lprofiler usually part of the gperftools along with tcmalloc.
have_profiler="no" have_profiler="no"
AC_ARG_WITH([profiler], AC_ARG_WITH([profiler],
[AS_HELP_STRING([--with-profiler], [AS_HELP_STRING([--with-profiler],
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment