diff --git a/INSTALL.swift b/INSTALL.swift index a07d5b24c2d8c75778e2a24d90f77724459ab61f..8e1635b0715426512503fd9dcde32f59a7ad1b62 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 977a86a03d5e4c82139dfd56d3f1ee7afe3ea6e8..f6e2ea0db8e9829b719a0190eea7a1d891bfbbd6 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],