1
/* ----------------------------------------------------------------------
2
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
5
http://lammps.sandia.gov, Sandia National Laboratories
6
Steve Plimpton, sjplimp@sandia.gov
8
See the README file in the top-level LAMMPS directory.
10
-----------------------------------------------------------------------
12
USER-CUDA Package and associated modifications:
13
https://sourceforge.net/projects/lammpscuda/
15
Christian Trott, christian.trott@tu-ilmenau.de
16
Lars Winterfeld, lars.winterfeld@tu-ilmenau.de
17
Theoretical Physics II, University of Technology Ilmenau, Germany
19
See the README file in the USER-CUDA directory.
21
This software is distributed under the GNU General Public License.
22
------------------------------------------------------------------------- */
26
#define _lj1 MY_AP(coeff1)
27
#define _lj2 MY_AP(coeff2)
28
#define _lj3 MY_AP(coeff3)
29
#define _lj4 MY_AP(coeff4)
30
#define _cg_type MY_AP(coeff5)
33
#include "pair_cg_cmm_coul_cut_cuda_cu.h"
39
void Cuda_PairCGCMMCoulCutCuda_Init(cuda_shared_data* sdata)
41
Cuda_Pair_Init_AllStyles(sdata, 5, true, false);
48
void Cuda_PairCGCMMCoulCutCuda(cuda_shared_data* sdata, cuda_shared_neighlist* sneighlist, int eflag, int vflag, int eflag_atom, int vflag_atom)
51
// initialize only on first call
52
static short init = 0;
56
Cuda_PairCGCMMCoulCutCuda_Init(sdata);
62
Cuda_Pair_PreKernel_AllStyles(sdata, sneighlist, eflag, vflag, grid, threads, sharedperproc, true, 128);
64
cudaStream_t* streams = (cudaStream_t*) CudaWrapper_returnStreams();
66
if(sdata->pair.use_block_per_atom)
67
Pair_Kernel_BpA<PAIR_CG_CMM, COUL_CUT, DATA_NONE>
68
<<< grid, threads, sharedperproc* sizeof(ENERGY_FLOAT)*threads.x, streams[1]>>> (eflag, vflag, eflag_atom, vflag_atom);
70
Pair_Kernel_TpA<PAIR_CG_CMM, COUL_CUT, DATA_NONE>
71
<<< grid, threads, sharedperproc* sizeof(ENERGY_FLOAT)*threads.x, streams[1]>>> (eflag, vflag, eflag_atom, vflag_atom);
73
Cuda_Pair_PostKernel_AllStyles(sdata, grid, sharedperproc, eflag, vflag);