diff --git a/README.rst b/README.rst index ddb9f2447db919248100368a9a08b13297d5e3a4..5418d711b7846e2ebd2ca68270a95baf1f9e35b3 100644 --- a/README.rst +++ b/README.rst @@ -60,7 +60,8 @@ Use a console; navigate to the ``bfps`` folder, and type: If you want to run simulations on the machine where you're installing, you will need to call `compile_library` before installing. Your machine needs to have an MPI compiler installed, the HDF5 C library -and FFTW >= 3.4. +and FFTW >= 3.4 --- a detailed prerequisite installation list is +included at the end of this document. The file `machine_settings_py.py` should be modified appropriately for your machine (otherwise the `compile_library` command will most likely fail). @@ -102,7 +103,63 @@ Comments * particles: initialization of multistep solvers is done with lower order methods, so direct convergence tests will fail. +* Code is only known to work with HDF5 1.8.x. + * Code is used mainly with Python 3.4 and 3.5. In principle it should be easy to maintain compatibility with Python 2.7.x, but as of `bfps 1.8` this is no longer a main concern. +------------------------------- +Installation with prerequisites +------------------------------- + +These installation steps assume that you have a working MPI compiler, +properly configured on your system (i.e. the various configure scripts +are able to find it). +If this is not the case, please consult the FFTW and HDF5 compilation +instructions for detailed instructions (`./configure --help` should be +enough). + +1. Make directory PREFIX on local fast partition. + +2. Download, compile, install FFTW (latest version 3.x from http://www.fftw.org/). + Execute the following commands in order, feel free to customize + optimisation flags for your own computer: + +.. code:: bash + ./configure --prefix=PREFIX --enable-single --enable-sse --enable-mpi --enable-openmp --enable-threads + make + make install + ./configure --prefix=PREFIX --enable-sse --enable-sse2 --enable-mpi --enable-openmp --enable-threads + make + make install + +3. Download, compile, install HDF5 (version 1.8.x, currently available + at https://support.hdfgroup.org/HDF5/release/obtainsrc518.html. + We are using parallel I/O, therefore we use the plain C interface of HDF5: + +.. code:: bash + ./configure --prefix=PREFIX --enable-parallel + make + make install + +3. This step may be ommited. + I recommend the creation of a virtual python3 environment (also under PREFIX) that will be used for installing bfps and dependencies. + Please see https://docs.python-guide.org/dev/virtualenvs/. + +4. Clone bfps repository. + +.. code:: bash + git clone git@gitlab.mpcdf.mpg.de:clalescu/bfps.git + +5. Tweak host_information.py and machine_settings.py for your user and your machine and place under ~/.config/bfps. + +6. Activate virtual environment. + +7. Go into bfps repository, execute + +.. code:: bash + + python setup.py compile_library + python setup.py install +