Serial version

Hi,
We see in the manual that

The charge assignment and force interpolation
portions of PPPM can be run on the GPU. The
FFT portion, which requires MPI communication
between processors, runs on the CPU.

So, I expect that gpu can be used with the serial version of lammps. But that is not possible because gpu references some mpi libraries.

Can someone confirm that? Or there is a way to bypass that?

cd lib/gpu make -f Makefile.linux
cd ../../src make yes-gpu
make yes-rigid make serial

fix_deform.o pair_comb3.o -lgpu -lmpi_stubs -lcudart -lcuda -o …/lmp_serial
…/…/lib/gpu/libgpu.a(lal_device.o): In function lmp_gpu_forces(double**, double**, double*, double**, double*, double&)': lal_device.cpp:(.text+0x29a): undefined reference to ompi_mpi_comm_world’
…/…/lib/gpu/libgpu.a(lal_device.o): In function `LAMMPS_AL::Device<float, float>::estimate_gpu_overhead(int, double&, double&)’:

Regards,
Mahmood

Hi,
We see in the manual that

The charge assignment and force interpolation
portions of PPPM can be run on the GPU. The
FFT portion, which requires MPI communication
between processors, runs on the CPU.

So, I expect that gpu can be used with the serial version of lammps. But
that is not possible because gpu references some mpi libraries.

there is no point in compiling the serial version of LAMMPS, if you
have already an MPI version. you can simply run just with one
processor.

LAMMPS *always* requires to be compiled against an MPI library. the
'serial' version simply uses the MPI-"stub" in the src/STUBS. of
course all parts of LAMMPS that use MPI-calls have to be compiled
against the same MPI library.

axel.