diff --git a/lib/gpu/atomic_gpu_memory.cpp b/lib/gpu/atomic_gpu_memory.cpp index a8e06be32a..0e0131bfc1 100644 --- a/lib/gpu/atomic_gpu_memory.cpp +++ b/lib/gpu/atomic_gpu_memory.cpp @@ -112,8 +112,7 @@ int * AtomicGPUMemoryT::reset_nbors(const int nall, const int inum, int *ilist, success=true; nbor_time_avail=true; - - int mn=nbor->max_nbor_loop(inum,numj); + int mn=nbor->max_nbor_loop(inum,numj,ilist); resize_atom(inum,nall,success); resize_local(inum,mn,success); if (!success) @@ -170,6 +169,7 @@ void AtomicGPUMemoryT::compute(const int f_ago, const int inum_full, bool &success) { acc_timers(); if (inum_full==0) { + host_start=0; zero_timers(); return; } @@ -208,6 +208,7 @@ int * AtomicGPUMemoryT::compute(const int ago, const int inum_full, const double cpu_time, bool &success) { acc_timers(); if (inum_full==0) { + host_start=0; zero_timers(); return NULL; } diff --git a/lib/gpu/charge_gpu_memory.cpp b/lib/gpu/charge_gpu_memory.cpp index e05e70f802..4244b2eac0 100644 --- a/lib/gpu/charge_gpu_memory.cpp +++ b/lib/gpu/charge_gpu_memory.cpp @@ -114,7 +114,7 @@ int * ChargeGPUMemoryT::reset_nbors(const int nall, const int inum, int *ilist, nbor_time_avail=true; - int mn=nbor->max_nbor_loop(inum,numj); + int mn=nbor->max_nbor_loop(inum,numj,ilist); resize_atom(inum,nall,success); resize_local(inum,mn,success); if (!success) @@ -171,6 +171,7 @@ void ChargeGPUMemoryT::compute(const int f_ago, const int inum_full, bool &success, double *host_q) { acc_timers(); if (inum_full==0) { + host_start=0; zero_timers(); return; } @@ -213,6 +214,7 @@ int * ChargeGPUMemoryT::compute(const int ago, const int inum_full, double *host_q) { acc_timers(); if (inum_full==0) { + host_start=0; zero_timers(); return NULL; } diff --git a/lib/gpu/gb_gpu.cpp b/lib/gpu/gb_gpu.cpp index 9212e43cb6..a4590be9bb 100644 --- a/lib/gpu/gb_gpu.cpp +++ b/lib/gpu/gb_gpu.cpp @@ -163,7 +163,7 @@ void _gb_gpu_reset_nbors(gbmtyp &gbm, const int nall, gbm.nbor_time_avail=true; - int mn=gbm.nbor->max_nbor_loop(inum,numj); + int mn=gbm.nbor->max_nbor_loop(inum,numj,ilist); gbm.resize_atom(inum,nall,success); gbm.resize_local(inum,0,mn,osize,success); if (!success) @@ -336,6 +336,7 @@ inline int * _gb_gpu_compute_n(gbmtyp &gbm, const int ago, double **host_quat) { gbm.acc_timers(); if (inum_full==0) { + host_start=0; gbm.zero_timers(); return NULL; } @@ -394,6 +395,7 @@ inline int * _gb_gpu_compute(gbmtyp &gbm, const int f_ago, const int inum_full, bool &success, double **host_quat) { gbm.acc_timers(); if (inum_full==0) { + host_start=0; gbm.zero_timers(); return NULL; } diff --git a/lib/gpu/pair_gpu_nbor.h b/lib/gpu/pair_gpu_nbor.h index 6d173841af..ff2dcc5ad6 100644 --- a/lib/gpu/pair_gpu_nbor.h +++ b/lib/gpu/pair_gpu_nbor.h @@ -126,10 +126,10 @@ class PairGPUNbor { inline int max_nbors() const { return _max_nbors; } /// Loop through neighbor count array and return maximum nbors for a particle - inline int max_nbor_loop(const int inum, int *numj) const { + inline int max_nbor_loop(const int inum, int *numj, int *ilist) const { int mn=0; for (int i=0; inlocal; gpulist = ljc_gpu_compute_n(neighbor->ago, inum, nall, atom->x,