Unverified Commit 15603e0f authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

add documentation for including cufft with KOKKOS+CUDA (for conventional build, CMake is automatic)

parent 3784df23
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -743,7 +743,7 @@ if(PKG_KSPACE)
  else()
    message(STATUS "Using non-threaded FFTs")
  endif()
  if(PKG_KOKKOS AND FFT_CUFFT)
  if(PKG_KOKKOS AND KOKKOS_ENABLE_CUDA)
    message(STATUS "Kokkos FFT: cuFFT")
  endif()
endif()
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ if(PKG_KOKKOS)
                                   ${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp)
    if(KOKKOS_ENABLE_CUDA)
      add_definitions(-DFFT_CUFFT)
      list(APPEND LAMMPS_LINK_LIBS -lcufft)
      list(APPEND LAMMPS_LINK_LIBS cufft)
    endif()
  endif()

+5 −3
Original line number Diff line number Diff line
@@ -350,10 +350,12 @@ For NVIDIA GPUs using CUDA:
   KOKKOS_DEVICES = Cuda
   KOKKOS_ARCH = archCPU,archGPU    # archCPU = CPU from list above that is hosting the GPU
                                    # archGPU = GPU from list above
   FFT_INC = -DFFT_CUFFT            # enable use of cuFFT (optional)
   FFT_LIB = -lcufft                # link to cuFFT library

For GPUs, you also need these 2 lines in your Makefile.machine before
the CC line is defined, in this case for use with OpenMPI mpicxx.  The
2 lines define a nvcc wrapper compiler, which will use nvcc for
For GPUs, you also need the following 2 lines in your Makefile.machine
before the CC line is defined, in this case for use with OpenMPI mpicxx.
The 2 lines define a nvcc wrapper compiler, which will use nvcc for
compiling CUDA files and use a C++ compiler for non-Kokkos, non-CUDA
files.