Skip to content

Commit

Permalink
Merge branch 'development' into add_temperature_diagnostic
Browse files Browse the repository at this point in the history
  • Loading branch information
dpgrote committed Jun 4, 2024
2 parents b1da87d + 7f4b086 commit b6d9342
Show file tree
Hide file tree
Showing 143 changed files with 3,547 additions and 1,354 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/clang_tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
-DWarpX_DIMS="${{ matrix.dim }}" \
-DWarpX_MPI=ON \
-DWarpX_COMPUTE=OMP \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_QED=ON \
-DWarpX_QED_TABLE_GEN=ON \
-DWarpX_OPENPMD=ON \
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
-DWarpX_OPENPMD=ON \
-DWarpX_openpmd_internal=OFF \
-DWarpX_PRECISION=SINGLE \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON
cmake --build build_sp -j 4
Expand Down Expand Up @@ -115,8 +115,8 @@ jobs:
which nvcc || echo "nvcc not in PATH!"
git clone https://github.com/AMReX-Codes/amrex.git ../amrex
cd ../amrex && git checkout --detach 8eff86d32d17bfbfc6b6bf1091a45bdeb6dd5c86 && cd -
make COMP=gcc QED=FALSE USE_MPI=TRUE USE_GPU=TRUE USE_OMP=FALSE USE_PSATD=TRUE USE_CCACHE=TRUE -j 4
cd ../amrex && git checkout --detach 28b010126a1b39297d8a496ba81f171d8563953b && cd -
make COMP=gcc QED=FALSE USE_MPI=TRUE USE_GPU=TRUE USE_OMP=FALSE USE_FFT=TRUE USE_CCACHE=TRUE -j 4
ccache -s
du -hs ~/.cache/ccache
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
-DWarpX_PYTHON=OFF \
-DAMReX_CUDA_ARCH=8.0 \
-DWarpX_OPENPMD=ON \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON
cmake --build build -j 4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/hip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
-DWarpX_MPI=ON \
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=SINGLE \
-DWarpX_PSATD=ON
-DWarpX_FFT=ON
cmake --build build_sp -j 4
export WARPX_MPI=OFF
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
-DWarpX_MPI=ON \
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=DOUBLE \
-DWarpX_PSATD=ON
-DWarpX_FFT=ON
cmake --build build_2d -j 4
export WARPX_MPI=OFF
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_DIMS="1;2" \
-DWarpX_EB=OFF \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_QED_TABLE_GEN=ON \
-DWarpX_QED_TOOLS=ON
Expand Down Expand Up @@ -127,7 +127,7 @@ jobs:
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_DIMS="RZ;3" \
-DWarpX_EB=OFF \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_PRECISION=SINGLE \
-DWarpX_PARTICLE_PRECISION=SINGLE \
-DWarpX_QED_TABLE_GEN=ON
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
cmake -S . -B build \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_APP=OFF \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_PYTHON=ON \
-DWarpX_QED_TABLE_GEN=ON
cmake --build build -j 4 --target pip_install
Expand Down Expand Up @@ -260,7 +260,7 @@ jobs:
-GNinja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_DIMS="RZ;1;2;3" \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_QED=ON \
-DWarpX_QED_TABLE_GEN=ON \
-DWarpX_OPENPMD=ON \
Expand Down
28 changes: 21 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ endif()

# CMake policies ##############################################################
#
# Setting a cmake_policy to OLD is deprecated by definition and will raise a
# verbose warning
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)
endif()

# AMReX 21.06+ supports CUDA_ARCHITECTURES with CMake 3.20+
# CMake 3.18+: CMAKE_CUDA_ARCHITECTURES
# https://cmake.org/cmake/help/latest/policy/CMP0104.html
Expand Down Expand Up @@ -72,7 +78,7 @@ option(WarpX_EB "Embedded boundary support" OFF)
option(WarpX_LIB "Build WarpX as a library" OFF)
option(WarpX_MPI "Multi-node support (message-passing)" ON)
option(WarpX_OPENPMD "openPMD I/O (HDF5, ADIOS)" ON)
option(WarpX_PSATD "spectral solver support" OFF)
option(WarpX_FFT "FFT-based solvers" OFF)
option(WarpX_PYTHON "Python bindings" OFF)
option(WarpX_SENSEI "SENSEI in situ diagnostics" OFF)
option(WarpX_QED "QED support (requires PICSAR)" ON)
Expand Down Expand Up @@ -149,16 +155,24 @@ if(WarpX_APP OR WarpX_PYTHON)
set(WarpX_LIB ON CACHE STRING "Build WarpX as a library" FORCE)
endif()

# deprecated options: transition phase

if(DEFINED WarpX_PSATD)
message(WARNING "CMake option WarpX_PSATD is deprecated. Use WarpX_FFT instead.\n"
"Overwriting WarpX_FFT with '${WarpX_PSATD}' because WarpX_PSATD was set.")
set(WarpX_FFT ${WarpX_PSATD} CACHE STRING "FFT-based solvers" FORCE)
endif()

# note: we could skip this if we solely build WarpX_APP, but if we build a
# shared WarpX library or a third party, like ImpactX, uses ablastr in a
# shared library (e.g., for Python bindings), then we need relocatable code.
option(ABLASTR_POSITION_INDEPENDENT_CODE
"Build ABLASTR with position independent code" ON)
mark_as_advanced(ABLASTR_POSITION_INDEPENDENT_CODE)

option(ABLASTR_FFT "compile AnyFFT wrappers" ${WarpX_PSATD})
if(WarpX_PSATD)
set(ABLASTR_FFT ON CACHE STRING "compile AnyFFT wrappers" FORCE)
option(ABLASTR_FFT "compile AnyFFT wrappers" ${WarpX_FFT})
if(WarpX_FFT)
set(ABLASTR_FFT ON CACHE STRING "FFT-based solvers" FORCE)
endif()

# this defined the variable BUILD_TESTING which is ON by default
Expand Down Expand Up @@ -192,7 +206,7 @@ include(${WarpX_SOURCE_DIR}/cmake/dependencies/openPMD.cmake)

# PSATD
include(${WarpX_SOURCE_DIR}/cmake/dependencies/FFT.cmake)
if(WarpX_PSATD)
if(WarpX_FFT)
# BLASPP and LAPACKPP
if(RZ IN_LIST WarpX_DIMS)
find_package(blaspp CONFIG REQUIRED)
Expand Down Expand Up @@ -517,8 +531,8 @@ foreach(D IN LISTS WarpX_DIMS)
endif()
endif()

if(WarpX_PSATD)
target_compile_definitions(ablastr_${SD} PUBLIC WARPX_USE_PSATD)
if(WarpX_FFT)
target_compile_definitions(ablastr_${SD} PUBLIC WARPX_USE_FFT)
endif()
if(ABLASTR_FFT)
# We need to enable FFT support in ABLASTR for PSATD solver
Expand Down
2 changes: 1 addition & 1 deletion Docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -2301,7 +2301,7 @@ PREDEFINED = AMREX_Linux=1 \
WARPX_DIM_XZ=1 \
WARPX_USE_GPU=1 \
WARPX_USE_OPENPMD=1 \
WARPX_USE_PSATD=1 \
WARPX_USE_FFT=1 \
WARPX_QED=1 \
WARPX_QED_TABLE_GEN=1

Expand Down
2 changes: 1 addition & 1 deletion Docs/source/developers/gnumake.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ options are:

* ``DIM=3`` or ``2``: Geometry of the simulation (note that running an executable compiled for 3D with a 2D input file will crash).
* ``DEBUG=FALSE`` or ``TRUE``: Compiling in ``DEBUG`` mode can help tremendously during code development.
* ``USE_PSATD=FALSE`` or ``TRUE``: Compile the Pseudo-Spectral Analytical Time Domain Maxwell solver. Requires an FFT library.
* ``USE_FFT=FALSE`` or ``TRUE``: Compile the Pseudo-Spectral Analytical Time Domain Maxwell solver. Requires an FFT library.
* ``USE_RZ=FALSE`` or ``TRUE``: Compile for 2D axisymmetric geometry.
* ``COMP=gcc`` or ``intel``: Compiler.
* ``USE_MPI=TRUE`` or ``FALSE``: Whether to compile with MPI support.
Expand Down
6 changes: 3 additions & 3 deletions Docs/source/developers/gnumake/rzgeometry.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ RZ geometry with spectral solver

Additional steps are needed to build the spectral solver. Some of the steps
are the same as is done for the Cartesian spectral solver, setting up the FFTW
package and setting ``USE_PSATD=TRUE``.
package and setting ``USE_FFT=TRUE``.

- Install (or load) an MPI-enabled version of FFTW.
For instance, for Debian, this can be done with
Expand Down Expand Up @@ -54,7 +54,7 @@ package and setting ``USE_PSATD=TRUE``.

export BLAS_LIB=-lblas

- Set ``USE_PSATD=TRUE`` when compiling:
- Set ``USE_FFT=TRUE`` when compiling:
::

make -j 4 USE_RZ=TRUE USE_PSATD=TRUE
make -j 4 USE_RZ=TRUE USE_FFT=TRUE
4 changes: 2 additions & 2 deletions Docs/source/developers/gnumake/spectral.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ In order to run the code with a spectral solver, you need to:

export FFTW_HOME=/usr/

- Set ``USE_PSATD=TRUE`` when compiling:
- Set ``USE_FFT=TRUE`` when compiling:
::

make -j 4 USE_PSATD=TRUE
make -j 4 USE_FFT=TRUE

See :doc:`rzgeometry` for using the spectral solver with USE_RZ. Additional steps are needed.
PSATD is compatible with single precision, but please note that, on CPU, FFTW needs to be compiled with option ``--enable-float``.
8 changes: 4 additions & 4 deletions Docs/source/install/cmake.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ CMake Option Default & Values Descr
``WarpX_OPENPMD`` **ON**/OFF openPMD I/O (HDF5, ADIOS)
``WarpX_PRECISION`` SINGLE/**DOUBLE** Floating point precision (single/double)
``WarpX_PARTICLE_PRECISION`` SINGLE/**DOUBLE** Particle floating point precision (single/double), defaults to WarpX_PRECISION value if not set
``WarpX_PSATD`` ON/**OFF** Spectral solver
``WarpX_FFT`` ON/**OFF** FFT-based solvers
``WarpX_PYTHON`` ON/**OFF** Python bindings
``WarpX_QED`` **ON**/OFF QED support (requires PICSAR)
``WarpX_QED_TABLE_GEN`` ON/**OFF** QED table generation support (requires PICSAR and Boost)
Expand Down Expand Up @@ -270,7 +270,7 @@ Environment Variable Default & Values Descr
``WARPX_OPENPMD`` **ON**/OFF openPMD I/O (HDF5, ADIOS)
``WARPX_PRECISION`` SINGLE/**DOUBLE** Floating point precision (single/double)
``WARPX_PARTICLE_PRECISION`` SINGLE/**DOUBLE** Particle floating point precision (single/double), defaults to WarpX_PRECISION value if not set
``WARPX_PSATD`` ON/**OFF** Spectral solver
``WARPX_FFT`` ON/**OFF** FFT-based solvers
``WARPX_QED`` **ON**/OFF PICSAR QED (requires PICSAR)
``WARPX_QED_TABLE_GEN`` ON/**OFF** QED table generation (requires PICSAR and Boost)
``BUILD_PARALLEL`` ``2`` Number of threads to use for parallel builds
Expand Down Expand Up @@ -310,11 +310,11 @@ Some Developers like to code directly against a local copy of AMReX, changing bo
WARPX_AMREX_SRC=$PWD/../amrex python3 -m pip install --force-reinstall --no-deps -v .
Additional environment control as common for CMake (:ref:`see above <building-cmake-intro>`) can be set as well, e.g. ``CC``, `CXX``, and ``CMAKE_PREFIX_PATH`` hints.
So another sophisticated example might be: use Clang as the compiler, build with local source copies of PICSAR and AMReX, support the PSATD solver, MPI and openPMD, hint a parallel HDF5 installation in ``$HOME/sw/hdf5-parallel-1.10.4``, and only build 2D and 3D geometry:
So another sophisticated example might be: use Clang as the compiler, build with local source copies of PICSAR and AMReX, support the FFT-based solvers, MPI and openPMD, hint a parallel HDF5 installation in ``$HOME/sw/hdf5-parallel-1.10.4``, and only build 2D and 3D geometry:

.. code-block:: bash
CC=$(which clang) CXX=$(which clang++) WARPX_AMREX_SRC=$PWD/../amrex WARPX_PICSAR_SRC=$PWD/../picsar WARPX_PSATD=ON WARPX_MPI=ON WARPX_DIMS="2;3" CMAKE_PREFIX_PATH=$HOME/sw/hdf5-parallel-1.10.4:$CMAKE_PREFIX_PATH python3 -m pip install --force-reinstall --no-deps -v .
CC=$(which clang) CXX=$(which clang++) WARPX_AMREX_SRC=$PWD/../amrex WARPX_PICSAR_SRC=$PWD/../picsar WARPX_FFT=ON WARPX_MPI=ON WARPX_DIMS="2;3" CMAKE_PREFIX_PATH=$HOME/sw/hdf5-parallel-1.10.4:$CMAKE_PREFIX_PATH python3 -m pip install --force-reinstall --no-deps -v .
Here we wrote this all in one line, but one can also set all environment variables in a development environment and keep the pip call nice and short as in the beginning.
Note that you need to use absolute paths for external source trees, because pip builds in a temporary directory, e.g. ``export WARPX_AMREX_SRC=$HOME/src/amrex``.
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/install/hpc/adastra.rst
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Use the following :ref:`cmake commands <building-cmake>` to compile the applicat
cd $SHAREDHOMEDIR/src/warpx
rm -rf build_adastra
cmake -S . -B build_adastra -DWarpX_COMPUTE=HIP -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_adastra -DWarpX_COMPUTE=HIP -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_adastra -j 16
The WarpX application executables are now in ``$SHAREDHOMEDIR/src/warpx/build_adastra/bin/``.
Expand All @@ -110,7 +110,7 @@ Additionally, the following commands will install WarpX as a Python module:
rm -rf build_adastra_py
cmake -S . -B build_adastra_py -DWarpX_COMPUTE=HIP -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_adastra_py -DWarpX_COMPUTE=HIP -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_adastra_py -j 16 --target pip_install
Now, you can :ref:`submit Adstra compute jobs <running-cpp-adastra>` for WarpX :ref:`Python (PICMI) scripts <usage-picmi>` (:ref:`example scripts <usage-examples>`).
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/install/hpc/crusher.rst
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ Use the following :ref:`cmake commands <building-cmake>` to compile the applicat
cd $HOME/src/warpx
rm -rf build_crusher
cmake -S . -B build_crusher -DWarpX_COMPUTE=HIP -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_crusher -DWarpX_COMPUTE=HIP -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_crusher -j 16
The WarpX application executables are now in ``$HOME/src/warpx/build_crusher/bin/``.
Expand All @@ -109,7 +109,7 @@ Additionally, the following commands will install WarpX as a Python module:
rm -rf build_crusher_py
cmake -S . -B build_crusher_py -DWarpX_COMPUTE=HIP -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_crusher_py -DWarpX_COMPUTE=HIP -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_crusher_py -j 16 --target pip_install
Now, you can :ref:`submit Crusher compute jobs <running-cpp-crusher>` for WarpX :ref:`Python (PICMI) scripts <usage-picmi>` (:ref:`example scripts <usage-examples>`).
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/install/hpc/frontier.rst
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ Use the following :ref:`cmake commands <building-cmake>` to compile the applicat
cd $HOME/src/warpx
rm -rf build_frontier
cmake -S . -B build_frontier -DWarpX_COMPUTE=HIP -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_frontier -DWarpX_COMPUTE=HIP -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_frontier -j 16
The WarpX application executables are now in ``$HOME/src/warpx/build_frontier/bin/``.
Expand All @@ -109,7 +109,7 @@ Additionally, the following commands will install WarpX as a Python module:
rm -rf build_frontier_py
cmake -S . -B build_frontier_py -DWarpX_COMPUTE=HIP -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_frontier_py -DWarpX_COMPUTE=HIP -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_frontier_py -j 16 --target pip_install
Now, you can :ref:`submit Frontier compute jobs <running-cpp-frontier>` for WarpX :ref:`Python (PICMI) scripts <usage-picmi>` (:ref:`example scripts <usage-examples>`).
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/install/hpc/greatlakes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Use the following :ref:`cmake commands <building-cmake>` to compile the applicat
cd $HOME/src/warpx
rm -rf build_v100
cmake -S . -B build_v100 -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_v100 -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_v100 -j 8
The WarpX application executables are now in ``$HOME/src/warpx/build_v100/bin/``.
Expand All @@ -127,7 +127,7 @@ Use the following :ref:`cmake commands <building-cmake>` to compile the applicat
cd $HOME/src/warpx
rm -rf build_v100_py
cmake -S . -B build_v100_py -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_v100_py -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_v100_py -j 8 --target pip_install
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/install/hpc/hpc3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Use the following :ref:`cmake commands <building-cmake>` to compile the applicat
cd $HOME/src/warpx
rm -rf build
cmake -S . -B build -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build -j 8
The WarpX application executables are now in ``$HOME/src/warpx/build/bin/``.
Expand All @@ -105,7 +105,7 @@ Additionally, the following commands will install WarpX as a Python module:
rm -rf build_py
cmake -S . -B build_py -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_py -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_py -j 8 --target pip_install
Now, you can :ref:`submit HPC3 compute jobs <running-cpp-hpc3>` for WarpX :ref:`Python (PICMI) scripts <usage-picmi>` (:ref:`example scripts <usage-examples>`).
Expand Down
2 changes: 1 addition & 1 deletion Docs/source/install/hpc/juwels.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Then, ``cd`` into the directory ``$HOME/src/warpx`` and use the following comman
cd $HOME/src/warpx
rm -rf build
cmake -S . -B build -DWarpX_DIMS="1;2;3" -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON -DWarpX_MPI_THREAD_MULTIPLE=OFF
cmake -S . -B build -DWarpX_DIMS="1;2;3" -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_MPI_THREAD_MULTIPLE=OFF
cmake --build build -j 16
The other :ref:`general compile-time options <install-developers>` apply as usual.
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/install/hpc/karolina.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Use the following :ref:`cmake commands <building-cmake>` to compile the applicat
cd $WORK/src/warpx
rm -rf build_gpu
cmake -S . -B build_gpu -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_gpu -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_gpu -j 48
The WarpX application executables are now in ``$WORK/src/warpx/build_gpu/bin/``.
Expand All @@ -91,7 +91,7 @@ Additionally, the following commands will install WarpX as a Python module:
cd $WORK/src/warpx
rm -rf build_gpu_py
cmake -S . -B build_gpu_py -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake -S . -B build_gpu_py -DWarpX_COMPUTE=CUDA -DWarpX_FFT=ON -DWarpX_QED_TABLE_GEN=ON -DWarpX_APP=OFF -DWarpX_PYTHON=ON -DWarpX_DIMS="1;2;RZ;3"
cmake --build build_gpu_py -j 48 --target pip_install
Now, you can :ref:`submit Karolina compute jobs <running-cpp-karolina>` for WarpX :ref:`Python (PICMI) scripts <usage-picmi>` (:ref:`example scripts <usage-examples>`).
Expand Down
Loading

0 comments on commit b6d9342

Please sign in to comment.