From de39bcc1fdc36fbee3f8192376469f541548260d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 5 Feb 2024 17:37:53 -0500 Subject: [PATCH] update documentation --- doc/src/Build_settings.rst | 17 +++++++++-------- doc/src/info.rst | 9 ++++++++- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst index 949d308510..a9a9eb25bf 100644 --- a/doc/src/Build_settings.rst +++ b/doc/src/Build_settings.rst @@ -70,7 +70,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 @@ -186,9 +186,10 @@ The Intel MKL math library is part of the Intel compiler suite. It can be used with the Intel or GNU compiler (see the ``FFT_LIB`` setting 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 GPU-resident (ie, HIP or CUDA). +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 back end to be +GPU-resident (i.e., HIP or CUDA). Performing 3d FFTs in parallel can be time-consuming due to data access and required communication. This cost can be reduced by performing @@ -201,11 +202,11 @@ generally less than the difference in precision. Using the ``-DFFT_SINGLE`` setting trades off a little accuracy for reduced memory use and parallel communication costs for transposing 3d FFT data. -When using ``-DFFT_SINGLE`` with FFTW3, you may need to build the FFTW -library a second time with support for single-precision. +When using ``-DFFT_SINGLE`` with FFTW3, you may need to ensure that +the FFTW3 installation includes support for single-precision. -For FFTW3, do the following, which should produce the additional -library ``libfftw3f.a`` or ``libfftw3f.so``\ . +When compiler FFTW3 from source, you can do the following, which should +produce the additional libraries ``libfftw3f.a`` and/or ``libfftw3f.so``\ . .. code-block:: bash diff --git a/doc/src/info.rst b/doc/src/info.rst index 958542e3c8..ac70034c30 100644 --- a/doc/src/info.rst +++ b/doc/src/info.rst @@ -10,7 +10,7 @@ Syntax info args -* args = one or more of the following keywords: *out*, *all*, *system*, *memory*, *communication*, *computes*, *dumps*, *fixes*, *groups*, *regions*, *variables*, *coeffs*, *styles*, *time*, *accelerator*, or *configuration* +* args = one or more of the following keywords: *out*, *all*, *system*, *memory*, *communication*, *computes*, *dumps*, *fixes*, *groups*, *regions*, *variables*, *coeffs*, *styles*, *time*, *accelerator*, *fft* or *configuration* * *out* values = *screen*, *log*, *append* filename, *overwrite* filename * *styles* values = *all*, *angle*, *atom*, *bond*, *compute*, *command*, *dump*, *dihedral*, *fix*, *improper*, *integrate*, *kspace*, *minimize*, *pair*, *region* @@ -92,6 +92,13 @@ The *accelerator* category prints out information about compile time settings of included accelerator support for the GPU, KOKKOS, INTEL, and OPENMP packages. +.. versionadded:: TBD + +The *fft* category prints out information about the included 3d-FFT +support. This lists the 3d-FFT engine, FFT precision, FFT library +used by the FFT engine. If the KOKKOS package is included, the settings +used for the KOKKOS package are displayed as well. + The *styles* category prints the list of styles available in the current LAMMPS binary. It supports one of the following options to control which category of styles is printed out: