Difference for src/PmeKSpace.C from version 1.21 to 1.22

version 1.21version 1.22
Line 212
Line 212
     partialVirial[5] = 0.5*v5;     partialVirial[5] = 0.5*v5;
 } }
 static inline void compute_energy_orthogonal_ckloop(int first, int last, void *result, int paraNum, void *param){ static inline void compute_energy_orthogonal_ckloop(int first, int last, void *result, int paraNum, void *param){
     CmiAssert(first==last);   for ( int i = first; i <= last; ++i ) {
     void **params = (void **)param;     void **params = (void **)param;
     PmeKSpace *kspace = (PmeKSpace *)params[0];     PmeKSpace *kspace = (PmeKSpace *)params[0];
     float *q_arr = (float *)params[1];     float *q_arr = (float *)params[1];
Line 221
Line 221
     double *partialVirial = (double *)params[4];     double *partialVirial = (double *)params[4];
     int *unitDist = (int *)params[5];     int *unitDist = (int *)params[5];
          
     int i = first; 
     int unit = unitDist[0];     int unit = unitDist[0];
     int remains = unitDist[1];     int remains = unitDist[1];
     int k1from, k1to;     int k1from, k1to;
Line 236
Line 235
     double *pVirial = partialVirial+i*6;     double *pVirial = partialVirial+i*6;
     kspace->compute_energy_orthogonal_subset(q_arr, recips, pVirial, pEnergy, k1from, k1to);     kspace->compute_energy_orthogonal_subset(q_arr, recips, pVirial, pEnergy, k1from, k1to);
 } }
  }
  
 double PmeKSpace::compute_energy_orthogonal_helper(float *q_arr, const Lattice &lattice, double ewald, double *virial) { double PmeKSpace::compute_energy_orthogonal_helper(float *q_arr, const Lattice &lattice, double ewald, double *virial) {
   double energy = 0.0;   double energy = 0.0;
Line 266
Line 266
     init_exp(exp3, K3, k3_start, k3_end, recipz);     init_exp(exp3, K3, k3_start, k3_end, recipz);
  
     double recips[] = {recipx, recipy, recipz};     double recips[] = {recipx, recipy, recipz};
     const int NPARTS=CmiMyNodeSize(); //this controls the granularity of loop parallelism     int NPARTS=CmiMyNodeSize(); //this controls the granularity of loop parallelism
      if ( NPARTS >  K1 ) NPARTS = K1; 
     ALLOCA(double, partialEnergy, NPARTS);     ALLOCA(double, partialEnergy, NPARTS);
     ALLOCA(double, partialVirial, 6*NPARTS);     ALLOCA(double, partialVirial, 6*NPARTS);
     int unitDist[] = {K1/NPARTS, K1%NPARTS};     int unitDist[] = {K1/NPARTS, K1%NPARTS};


Legend:
Removed in v.1.21 
changed lines
 Added in v.1.22



Made by using version 1.53 of cvs2html