Installation¶
Dependencies¶
a C++ compiler that supports OpenMP and C++11 standard (or newer).
GNU Make
BLAS
LAPACK
GFortran
Notes:
GNU and Intel compilers have been tested. Compilers that use LLVM, such as clang, are not supported yet.
We recommend to install OpenBLAS. The standard build also includes a full LAPACK library.
There is no Fortran code in exafmm-t, but gfortran is required in the autotools macros that help configure BLAS and LAPACK libraries.
You can use the following commands to install these dependencies on Ubuntu:
$ apt-get update
$ apt-get -y install libopenblas-dev libfftw3-dev gfortran
Modify these commands accordingly if you are running other Linux distributions.
Install exafmm-t¶
This section is only necessary for the users who want to use exafmm-t in C++ applications. Python users can skip to next section: Install exafmm-t’s Python package.
exafmm-t uses autotools as the build-system. Go to the root directory of exafmm-t and configure the build:
$ cd exafmm-t
$ ./configure
By default, the configure script will use the most advanced SIMD instruction set
available on the CPU and enable double precision option. Use ./configure --help
to see all available options.
After configuration, you can compile and run exafmm-t’s tests with:
$ make check
at the root directory of the repo.
Optionally, you can install the headers to the configured location:
$ make install
Install exafmm-t’s Python package¶
exafmm-t relies on pybind11 to generate Python bindings. It requires Python 2.7 or 3.x. To install the Python package, you need first to install OpenBLAS (as the choice of BLAS library), in addition to the aforementioned dependencies.
Then install exafmm-t to your Python environment using pip:
$ pip install git+https://github.com/exafmm/exafmm-t.git