Installation Methods
Our community is here to help – please report installation issues if you encounter any.
Please choose one of the installation methods below to get started.
HPC Systems
If you want to use WarpX on a specific high-performance computing (HPC) system, please go directly to our HPC system-specific documentation.
Using the conda-forge Package
A package for WarpX is available via conda-forge.
Tip
We recommend disabling conda’s automatic activation of the base environment.
This helps avoid interference with the system and other package managers.
conda config --set auto_activate_base false
To ensure conda uses conda-forge as the only channel (which helps avoid issues with blocked defaults or anaconda repositories), set the following configuration options:
conda config --add channels conda-forge
conda config --set channel_priority strict
mamba create -n warpx -c conda-forge warpx
mamba activate warpx
Note
The warpx package on conda-forge does not yet provide GPU support.
Using the Spack Package
Packages for WarpX are available via the Spack package manager.
The warpx package installs executables. The warpx +python variant also builds Python bindings, which can be used with PICMI.
# optional: activate Spack binary caches
spack mirror add rolling https://binaries.spack.io/develop
spack buildcache keys --install --trust
# see `spack info py-warpx` for build options.
# optional arguments: -mpi compute=cuda
spack install warpx +python
spack load warpx +python
See spack info warpx and the official Spack tutorial for more information.
Using the PyPI Package
If you have the WarpX dependencies installed, you can use pip to install WarpX (with PICMI) from source:
python3 -m pip install -U pip
python3 -m pip install -U build packaging setuptools[core] wheel
python3 -m pip install -U cmake
python3 -m pip wheel -v git+https://github.com/BLAST-WarpX/warpx.git
python3 -m pip install *whl
Pre-compiled binary packages will be published on PyPI in the future for faster installs. Please consider using conda in the meantime.
Using the Brew Package
Note
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 https://github.com/BLAST-WarpX/warpx.git $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/
For more details on how to configure WarpX from source, please see the section Build from Source.
Tips for macOS Users
Tip
Before using package managers, check for manually installed software under /usr/local.
If you find entries in bin/, lib/, etc., that look like MPI, HDF5, or other previously installed software, remove them first.
If you find software such as MPI in those directories as symbolic links, it likely means you previously installed them with brew.
If you plan to use a package manager other than brew, first run brew unlink … on those packages to avoid incompatibilities.
See also: A. Huebl, Working With Multiple Package Managers, Collegeville Workshop (CW20), 2020