added documentation

This commit is contained in:
Miroslav Stoyanov
2023-02-06 13:27:50 -05:00
parent 03b6b2d030
commit 77ad067458
2 changed files with 23 additions and 0 deletions

View File

@ -983,6 +983,11 @@ if(PKG_KSPACE)
else()
message(STATUS "Using non-threaded FFTs")
endif()
if (FFT_HEFFTE)
message(STATUS "Using distributed algorithms from heFTTe")
else()
message(STATUS "Using builtin distributed algorithms")
endif()
if(PKG_KOKKOS)
if(Kokkos_ENABLE_CUDA)
if(FFT STREQUAL "KISS")

View File

@ -43,6 +43,11 @@ When the KSPACE package is included in a LAMMPS build, the
require use of an FFT library to compute 1d FFTs. The KISS FFT
library is included with LAMMPS, but other libraries can be faster.
LAMMPS can use them if they are available on your system.
Alternatively, LAMMPS can use the
`heFFTe <https://mkstoyanov.bitbucket.io/heffte/>`_
library for the MPI communication algorithms,
currently heFFTe can be build only with CMake
and the value of FFT should be FFTW3 or MKL.
.. tabs::
@ -53,6 +58,7 @@ LAMMPS can use them if they are available on your system.
-D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS
-D FFT_SINGLE=value # yes or no (default), no = double precision
-D FFT_PACK=value # array (default) or pointer or memcpy
-D FFT_HEFFTE=value # yes or no (default), yes links to heFFTe
.. note::
@ -76,6 +82,8 @@ LAMMPS can use them if they are available on your system.
-D MKL_INCLUDE_DIR=path # ditto for Intel MKL library
-D FFT_MKL_THREADS=on # enable using threaded FFTs with MKL libraries
-D MKL_LIBRARY=path # path to MKL libraries
-D Heffte_ROOT=path # path to an existing heFFTe installation
.. tab:: Traditional make
@ -170,6 +178,16 @@ Depending on the machine, the size of the FFT grid, the number of
processors used, one option may be slightly faster. The default is
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 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 <https://mkstoyanov.bitbucket.io/heffte/md_doxygen_installation.html>`_
and those variables will be passed into the heFFTe build.
----------
.. _size: