USER-CUDA compilation error PPPM::poison when CUFFT=0

Hi Christian,

It seems that if lib/cuda is compiled with cufft=0 (sorry, some people
need to use switch it off :slight_smile: ), there is an compilation issue with
PPPM::poisson(),

src/USER-CUDA/pppm_cuda.cpp

....
void PPPMCuda::poisson(int eflag, int vflag)
{
#ifndef FFT_CUFFT
    PPPM::poisson(eflag,vflag);
    return;
#endif
.....

I got the compilation error:

g++ -g -O -DLAMMPS_GZIP -DLAMMPS_JPEG -I../../lib/cuda
-DLMP_USER_CUDA -I../../lib/reax -I../../lib/poems -I../../lib/meam
-I/sw/keeneland/mvapich2/1.8/centos5.6_gnu4.4.0/include -DFFT_FFTW3
-I/nics/d/home/smagg/opt/cuda/3.2/include -DUNIX -DNO_PREC_TIMING
-DCUDA_PRECISION=1 -DCUDA_ARCH=20 -c region_block.cpp
  pppm_cuda.cpp: In member function \u2018void
LAMMPS_NS::PPPMCuda::poisson(int, int)\u2019:
  pppm_cuda.cpp:1299: error: no matching function for call to
\u2018LAMMPS_NS::PPPMCuda::poisson(int&, int&)\u2019
  pppm.h:119: note: candidates are: virtual void LAMMPS_NS::PPPM::poisson()
  
I guess we what we want to have here is PPPMCuda::poisson(eflag,
vflag). The pppm_cuda.h has the method declaration void poisson(int,
int);.

In fact, if I compile with

....
#ifndef FFT_CUFFT
    PPPMCuda::poisson(eflag,vflag);
    return;
#endif
....

the mentioned compilation error disappears.

Best,

~~ Magda
== What doesn't kill you, makes you stronger ==