~ubuntu-branches/debian/sid/lammps/sid

« back to all changes in this revision

Viewing changes to src/USER-CUDA/pair_lj_gromacs_coul_gromacs_cuda.cpp

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2015-04-29 23:44:49 UTC
  • mfrom: (5.1.3 experimental)
  • Revision ID: package-import@ubuntu.com-20150429234449-mbhy9utku6hp6oq8
Tags: 0~20150313.gitfa668e1-1
Upload into unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
#include "respa.h"
43
43
#include "memory.h"
44
44
#include "error.h"
45
 
#include "cuda.h"
 
45
#include "user_cuda.h"
46
46
 
47
47
using namespace LAMMPS_NS;
48
48
 
69
69
        if(! allocated) PairLJGromacsCoulGromacs::allocate();
70
70
        if(! allocated2)
71
71
        {
72
 
                cuda->accelerator(0,NULL);
73
72
                allocated2 = true;
74
73
                cuda->shared_data.pair.coeff1  = lj1;
75
74
                cuda->shared_data.pair.coeff2  = lj2;
82
81
                cuda->shared_data.pair.coeff9  = ljsw5;
83
82
                cuda->shared_data.pair.special_lj  = force->special_lj;
84
83
                cuda->shared_data.pair.special_coul  = force->special_coul;
85
 
            cu_lj1_gm = new cCudaData<double, F_FLOAT, x> ((double*)lj1, &cuda->shared_data.pair.coeff1_gm, (atom->ntypes+1)*(atom->ntypes+1));
86
 
            cu_lj2_gm = new cCudaData<double, F_FLOAT, x> ((double*)lj2, &cuda->shared_data.pair.coeff2_gm, (atom->ntypes+1)*(atom->ntypes+1));
87
 
            cu_lj3_gm = new cCudaData<double, F_FLOAT, x> ((double*)lj3, &cuda->shared_data.pair.coeff3_gm, (atom->ntypes+1)*(atom->ntypes+1));
88
 
            cu_lj4_gm = new cCudaData<double, F_FLOAT, x> ((double*)lj4, &cuda->shared_data.pair.coeff4_gm, (atom->ntypes+1)*(atom->ntypes+1));
89
 
            cu_ljsw1_gm = new cCudaData<double, F_FLOAT, x> ((double*)ljsw1, &cuda->shared_data.pair.coeff5_gm, (atom->ntypes+1)*(atom->ntypes+1));
90
 
            cu_ljsw2_gm = new cCudaData<double, F_FLOAT, x> ((double*)ljsw2, &cuda->shared_data.pair.coeff6_gm, (atom->ntypes+1)*(atom->ntypes+1));
91
 
            cu_ljsw3_gm = new cCudaData<double, F_FLOAT, x> ((double*)ljsw3, &cuda->shared_data.pair.coeff7_gm, (atom->ntypes+1)*(atom->ntypes+1));
92
 
            cu_ljsw4_gm = new cCudaData<double, F_FLOAT, x> ((double*)ljsw4, &cuda->shared_data.pair.coeff8_gm, (atom->ntypes+1)*(atom->ntypes+1));
93
 
            cu_ljsw5_gm = new cCudaData<double, F_FLOAT, x> ((double*)ljsw5, &cuda->shared_data.pair.coeff9_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
84
            cu_lj1_gm = new cCudaData<double, F_CFLOAT, x> ((double*)lj1, &cuda->shared_data.pair.coeff1_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
85
            cu_lj2_gm = new cCudaData<double, F_CFLOAT, x> ((double*)lj2, &cuda->shared_data.pair.coeff2_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
86
            cu_lj3_gm = new cCudaData<double, F_CFLOAT, x> ((double*)lj3, &cuda->shared_data.pair.coeff3_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
87
            cu_lj4_gm = new cCudaData<double, F_CFLOAT, x> ((double*)lj4, &cuda->shared_data.pair.coeff4_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
88
            cu_ljsw1_gm = new cCudaData<double, F_CFLOAT, x> ((double*)ljsw1, &cuda->shared_data.pair.coeff5_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
89
            cu_ljsw2_gm = new cCudaData<double, F_CFLOAT, x> ((double*)ljsw2, &cuda->shared_data.pair.coeff6_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
90
            cu_ljsw3_gm = new cCudaData<double, F_CFLOAT, x> ((double*)ljsw3, &cuda->shared_data.pair.coeff7_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
91
            cu_ljsw4_gm = new cCudaData<double, F_CFLOAT, x> ((double*)ljsw4, &cuda->shared_data.pair.coeff8_gm, (atom->ntypes+1)*(atom->ntypes+1));
 
92
            cu_ljsw5_gm = new cCudaData<double, F_CFLOAT, x> ((double*)ljsw5, &cuda->shared_data.pair.coeff9_gm, (atom->ntypes+1)*(atom->ntypes+1));
94
93
        }
95
94
}
96
95
 
121
120
void PairLJGromacsCoulGromacsCuda::settings(int narg, char **arg)
122
121
{
123
122
        PairLJGromacsCoulGromacs::settings(narg, arg);
124
 
        cuda->shared_data.pair.cut_global = (X_FLOAT) cut_lj;
125
 
        cuda->shared_data.pair.cut_coulsq_global = (X_FLOAT) cut_coulsq;
126
 
        cuda->shared_data.pair.cut_inner_global = (F_FLOAT) cut_lj_inner;
 
123
        cuda->shared_data.pair.cut_global = (X_CFLOAT) cut_lj;
 
124
        cuda->shared_data.pair.cut_coulsq_global = (X_CFLOAT) cut_coulsq;
 
125
        cuda->shared_data.pair.cut_inner_global = (F_CFLOAT) cut_lj_inner;
127
126
}
128
127
 
129
128
/* ---------------------------------------------------------------------- */
147
146
 
148
147
  int irequest;
149
148
 
150
 
           irequest = neighbor->request(this);
 
149
  irequest = neighbor->request(this,instance_me);
151
150
    neighbor->requests[irequest]->full = 1;
152
151
    neighbor->requests[irequest]->half = 0;
153
152
    neighbor->requests[irequest]->cudable = 1;
187
186
        PairLJGromacsCoulGromacs::ev_setup(eflag,vflag);
188
187
 
189
188
  if (eflag_atom && atom->nmax > maxeatomold)
190
 
        {delete cuda->cu_eatom; cuda->cu_eatom = new cCudaData<double, ENERGY_FLOAT, x > ((double*)eatom, & cuda->shared_data.atom.eatom , atom->nmax  );}
 
189
        {delete cuda->cu_eatom; cuda->cu_eatom = new cCudaData<double, ENERGY_CFLOAT, x > ((double*)eatom, & cuda->shared_data.atom.eatom , atom->nmax  );}
191
190
 
192
191
  if (vflag_atom && atom->nmax > maxeatomold)
193
 
        {delete cuda->cu_vatom; cuda->cu_vatom = new cCudaData<double, ENERGY_FLOAT, yx > ((double*)vatom, & cuda->shared_data.atom.vatom , atom->nmax, 6  );}
 
192
        {delete cuda->cu_vatom; cuda->cu_vatom = new cCudaData<double, ENERGY_CFLOAT, yx > ((double*)vatom, & cuda->shared_data.atom.vatom , atom->nmax, 6  );}
194
193
 
195
194
}