Our community is here to help. Please report installation problems in case you should get stuck.

Choose one of the installation methods below to get started:


HPC Systems

If want to use WarpX on a specific high-performance computing (HPC) systems, jump directly to our HPC system-specific documentation.


Using the Conda Package

A package for WarpX is available via the Conda package manager.

conda create -n warpx -c conda-forge warpx
conda activate warpx

Note: the warpx conda package does not yet provide GPU support.


Using the Spack Package

Packages for WarpX are available via the Spack package manager. The package warpx installs executables and the package py-warpx includes Python bindings, i.e. PICMI.

# optional:            -mpi ^warpx dims=2 compute=cuda
spack install py-warpx
spack load py-warpx

See spack info warpx or spack info py-warpx and the official Spack tutorial for more information.


Using the PyPI Package

Given that you have the WarpX dependencies installed, you can use pip to install WarpX with PICMI from source:

# optional:                                    --user
python3 -m pip install -U pip setuptools wheel
python3 -m pip install -U cmake

python3 -m pip wheel -v git+
# optional:                 --user
python3 -m pip install *whl

In the future, will publish pre-compiled binary packages on PyPI for faster installs. (Consider using conda in the meantime.)


Using the Brew Package


Coming soon.


From Source with CMake

After installing the WarpX dependencies, you can also install WarpX from source with CMake:

# get the source code
git clone $HOME/src/warpx
cd $HOME/src/warpx

# configure
cmake -S . -B build

# optional: change configuration
ccmake build

# compile
#   on Windows:          --config RelWithDebInfo
cmake --build build -j 4

# executables for WarpX are now in build/bin/

We document the details in the developer installation.

Tips for macOS Users


Before getting started with package managers, please check what you manually installed in /usr/local. If you find entries in bin/, lib/ et al. that look like you manually installed MPI, HDF5 or other software in the past, then remove those files first.

If you find software such as MPI in the same directories that are shown as symbolic links then it is likely you brew installed software before. If you are trying annother package manager than brew, run brew unlink … on such packages first to avoid software incompatibilities.

See also: A. Huebl, Working With Multiple Package Managers, Collegeville Workshop (CW20), 2020