Skip to content

Commit

Permalink
Update README.rst
Browse files Browse the repository at this point in the history
  • Loading branch information
shuds13 committed Nov 28, 2017
1 parent f670dff commit 8c402f2
Showing 1 changed file with 68 additions and 0 deletions.
68 changes: 68 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,71 @@ libEnsemble


Library for managing ensemble-like collections of computations.


Dependencies
------------

* Python_ 2.7, 3.4 or above.

* A functional MPI 1.x/2.x/3.x implementation like `MPICH
<http://www.mpich.org/>`_ or `Open MPI <http://www.open-mpi.org/>`_
built with shared/dynamic libraries.

* mpi4py_ v2.0.0 or above

* NumPy_

The examples and tests require the following dependencies:

* SciPy_
* petsc4py_
* PETSc_ - This can optionally be installed by pip along with petsc4py
* nlopt_ - Installed with `shared libraries enabled <http://ab-initio.mit.edu/wiki/index.php/NLopt_Installation#Shared_libraries>`_.

The Python packages will pip install automatically if PYPI is accessible and these are not in the sys.path. Non-Python packages (PETSc/nlopt) must be built with shared libraries enabled and present in sys.path (eg. via setting the PYTHONPATH environment variable).

Conda can also be used for simple fast installation. This is probably the fastest approach for a clean installation from scratch as conda can install both the Python and non-Python dependencies - see conda directory for dependent packages/instructions. Note, however, that mpi4py should be configured to point to your systems MPI if that already exists. This can be checked by locating the mpi.cfg file in the mpi4py installation. Note that if PYTHONPATH is set these packages will take precedence over conda installed packages. TravisCI testing has also been configured to use Conda with the `Miniconda <https://conda.io/docs/install/quick.html>`_ distribution.

.. _PETSc: http://www.mcs.anl.gov/petsc
.. _Python: http://www.python.org
.. _nlopt: http://ab-initio.mit.edu/wiki/index.php/NLopt
.. _NumPy: http://www.numpy.org
.. _SciPy: http://www.scipy.org
.. _mpi4py: http://pythonhosted.org/mpi4py
.. _petsc4py: https://pythonhosted.org/petsc4py


Installation
------------

You can download the source code from `here <https://github.com/Libensemble/libensemble>`_, and then install the libensemble package from the top level directory using::

python setup.py install
OR
pip3 install .

The examples and tests are set up to be run from the source distribution.


Testsuite
---------

The testsuite includes both unit and regression tests and is run regularly on

* `Travis CI <https://travis-ci.org/Libensemble/libensemble>`_

The testsuite requires the pytest and pytest-cov packages installed can be run from the code/tests directory of the source distribution using the following methods::

./run-tests.sh (optionally specify eg. -p 3 for Python3)

python3 setup.py test

Coverage reports are produced separately for unit tests and regression tests under the relevant directories. For parallel tests, the union of all processors is taken. Furthermore, a combined coverage report is created at the top level, which can be viewed online in `Coveralls <https://coveralls.io/github/Libensemble/libensemble?branch=master>`_.


Documentation
-------------
* http://libensemble.readthedocs.org/

0 comments on commit 8c402f2

Please sign in to comment.