From 0890b7d75a42f0115c65fb8dd78f5fb6b8c0bd0a Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <matthieu.schaller@durham.ac.uk> Date: Fri, 14 Oct 2016 11:20:22 +0100 Subject: [PATCH] Updated list of SWIFT dependencies in INSTALL.swift --- INSTALL.swift | 74 ++++++++++++++++++++++++++++++++++----------------- configure.ac | 2 +- 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/INSTALL.swift b/INSTALL.swift index a07d5b24c2..8e1635b071 100644 --- a/INSTALL.swift +++ b/INSTALL.swift @@ -83,39 +83,65 @@ 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. + - 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: an optional MPI library that fully supports MPI_THREAD_MULTIPLE. -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. + - 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 + 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 CC one. Use this when your MPI compiler has a none-standard name. + The MPI compiler can be controlled using the MPICC variable, + 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 -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". + - libtool: The build system relies on libtool. -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. + Optional Dependencies + ===================== -DOXYGEN: the doxygen library is required to create the SWIFT API -documentation. + - 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". + + + - 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. diff --git a/configure.ac b/configure.ac index 977a86a03d..f6e2ea0db8 100644 --- a/configure.ac +++ b/configure.ac @@ -355,7 +355,7 @@ fi AC_SUBST([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" AC_ARG_WITH([profiler], [AS_HELP_STRING([--with-profiler], -- GitLab