"back end" keeps the spellchecker happier and is just as well.

This commit is contained in:
Axel Kohlmeyer
2024-08-18 17:28:34 -04:00
parent b3a7d4dc95
commit 90a595f519

View File

@ -58,7 +58,7 @@ LAMMPS can use them if they are available on your system.
Alternatively, LAMMPS can use the `heFFTe
<https://icl-utk-edu.github.io/heffte/>`_ library for the MPI
communication algorithms, which comes with many optimizations for
special cases, e.g. leveraging available 2D and 3D FFTs in the backend
special cases, e.g. leveraging available 2D and 3D FFTs in the back end
libraries and better pipelining for packing and communication.
.. tabs::
@ -81,7 +81,7 @@ libraries and better pipelining for packing and communication.
the FFT library selected by the ``FFT_KOKKOS`` variable applies. Otherwise,
the FFT library selected by the FFT variable applies.
The same FFT settings apply to both. ``FFT_KOKKOS`` must be compatible with the
Kokkos backend - for example, when using the CUDA backend of Kokkos,
Kokkos back end - for example, when using the CUDA back end of Kokkos,
you must use either ``CUFFT`` or ``KISS``.
Usually these settings are all that is needed. If FFTW3 is
@ -101,12 +101,12 @@ libraries and better pipelining for packing and communication.
-D FFT_MKL_THREADS=on # enable using threaded FFTs with MKL libraries
-D MKL_LIBRARY=path # path to MKL libraries
-D FFT_HEFFTE_BACKEND=value # FFTW or MKL or empty/undefined for the stock
# heFFTe backend
# heFFTe back end
-D Heffte_ROOT=path # path to an existing heFFTe installation
.. note::
heFFTe comes with a builtin (= stock) backend for FFTs, i.e. a
heFFTe comes with a builtin (= stock) back end for FFTs, i.e. a
default internal FFT implementation; however, this stock back
end is intended for testing purposes only and is not optimized
for production runs.
@ -183,9 +183,9 @@ libraries and better pipelining for packing and communication.
which will define the ``heffte_`` include variables needed to link to heFFTe from
an external project using traditional make.
The ``-DFFT_HEFFTE`` is required to switch to using heFFTe, while the optional ``-DFFT_HEFFTE_FFTW``
selects the desired heFFTe backend, e.g., ``-DFFT_HEFFTE_FFTW`` or ``-DFFT_HEFFTE_MKL``,
omitting the variable will default to the `stock` backend.
The heFFTe `stock` backend is intended to be used for testing and debugging,
selects the desired heFFTe back end, e.g., ``-DFFT_HEFFTE_FFTW`` or ``-DFFT_HEFFTE_MKL``,
omitting the variable will default to the `stock` back end.
The heFFTe `stock` back end is intended to be used for testing and debugging,
but is not performance optimized for large scale production runs.
The `KISS FFT library <https://github.com/mborgerding/kissfft>`_ is
@ -220,7 +220,7 @@ above).
The cuFFT and hipFFT FFT libraries are packaged with NVIDIA's CUDA and
AMD's HIP installations, respectively. These FFT libraries require the
Kokkos acceleration package to be enabled and the Kokkos backend to be
Kokkos acceleration package to be enabled and the Kokkos back end to be
GPU-resident (i.e., HIP or CUDA).
Performing 3d FFTs in parallel can be time-consuming due to data access
@ -255,7 +255,7 @@ ARRAY mode.
When using ``-DFFT_HEFFTE`` CMake will first look for an existing
install with hints provided by ``-DHeffte_ROOT``, as recommended by the
CMake standard and note that the name is case sensitive. If CMake cannot
find a heFFTe installation with the correct backend (e.g., FFTW or
find a heFFTe installation with the correct back end (e.g., FFTW or
MKL), it will attempt to download and build the library automatically.
In this case, LAMMPS CMake will also accept all heFFTe specific
variables listed in the `heFFTe documentation