Installation on a local computer
==================================
Installing FBPIC
------------------
The installation requires the
`Anaconda `__ distribution of
Python. If Anaconda is not your default Python distribution, download and install it from `here `__.
**Installation steps**:
- Install the dependencies of FBPIC:
::
conda install -c conda-forge numba scipy pyfftw mpi4py
.. note::
If you want to run FBPIC on an Intel CPU (not applicable if you want to run on
a Macbook with Apple Silicon, or on a GPU), you can additionally install ``mkl`` for better performance.
::
conda install -c conda-forge mkl
- Install ``fbpic``:
::
pip install fbpic
.. note::
If you want to run FBPIC through the
`PICMI interface `__, you can instead
use
::
pip install fbpic[picmi]
.. note::
Instead of using a release, you can also install FBPIC from the sources,
by cloning the `code from Github `_,
and executing ``python3 -m pip install .`` from the main directory.
A shortcut for this is: ``python3 -m pip install git+https://github.com/fbpic/fbpic.git``.
- **Optional:** In order to be able to run the code on a GPU,
install the additional package ``cupy`` as well as dependencies needed to enable GPU support in ``numba``.
For CUDA versions below 12, install ``cupy`` and ``cuda-version`` (which will automatically install ``cudatoolkit``), for example
::
conda install -c conda-forge cupy cuda-version=11.8
For CUDA 12+ which no longer provides the ``cudatoolkit`` package, explicit installation of ``cuda-nvcc`` and ``cuda-nvrtc`` is required
::
conda install -c conda-forge cupy cuda-version=12.0 cuda-nvcc cuda-nvrtc
.. warning::
In the above commands, you should choose a CUDA version that is **compatible
with your GPU driver**. You can see the version of your GPU driver by typing
the command ``nvidia-smi``. You can then find the compatible CUDA
versions using `this table `__.
Potential issues
----------------
On Mac OSX, the package ``mpi4py`` can sometimes cause
issues. If you observe that the code crashes with an
MPI-related error, try installing ``mpi4py`` using MacPorts and
``pip``. To do so, first install `MacPorts `_. Then execute the following commands:
::
conda uninstall mpi4py
sudo port install openmpi-gcc48
sudo port select --set mpi openmpi-gcc48-fortran
pip install mpi4py
If you are running on an Apple Silicon machine, `mkl` is not available via `conda`. You can use `brew` instead:
::
brew install onednn
Running simulations
-------------------
See the section :doc:`../how_to_run`, for instructions on how to run a simulation.