[lammps-users] problem encountered with lammps-gpu

I recently built lammps with gpu support enabled. Our GPU is the nVidia S1070 using a pair of Dell R710's to connect.

Using the minimization sample code provided with lammps but modified to use the GPU I can successfully use a single gpu:

pair_style lj/cut/gpu one/gpu 0 2.5

but if I try to use GPU 1 instead of GPU 0:

pair_style lj/cut/gpu one/gpu 1 2.5

then lammps fails.

It gets thru the run setup OK:

Created orthogonal box = (0 0 -0.153919) to (30.7838 30.7838 0.153919)
  1 by 2 by 1 processor grid
Created 800 atoms

--------------------------------------------------------------------------
- Using GPGPU acceleration for LJ-Cut:
--------------------------------------------------------------------------
GPU 1: Tesla T10 Processor, 240 cores, 4 GB, 1.4 GHZ
--------------------------------------------------------------------------

Setting up run ...
Memory usage per processor = 5.65528 Mbytes
Step Temp E_pair E_mol TotEng Press

but the minimization setup goes down in flames:

--------------------------------------------------------------------------
- Using GPGPU acceleration for LJ-Cut:
--------------------------------------------------------------------------
GPU 1: Tesla T10 Processor, 240 cores, 4 GB, 1.4 GHZ
--------------------------------------------------------------------------

Setting up minimization ...
lmp_openmpi_gpu: pair_gpu_cell.cu:436: void build_cell_list(double*, int*, cell_list&, int, int, int, int, int, int, int, int): Assertion `err == cudaSuccess' failed.

Not sure why I can't seem to use this second GPU.

This is a pretext to MPI based lammps job not being able to use more than a single socket and gpu per system for an mpi run. mpi jobs can use 1 core / 1 gpu per job but not multiple.

Our system is RH Linux 5.5, CUDA toolkit is v 2.2.

Thanks,

--Jeff

I'll let Mike Brown look at this problem

Steve

Hi Jeff,

Not having your script I am guessing that this is not a problem with using the second GPU, but a bug with the way the GPU cell list is allocating and freeing memory between runs. Patch soon.

  • Mike