Commit e119bffc authored by Trung Nguyen's avatar Trung Nguyen
Browse files

Fixed bugs with kernel (re)compiling when the global device got cleared and then reinitialized

parent 86f64497
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -26,15 +26,16 @@ BaseAtomicT::BaseAtomic() : _compiled(false), _max_bytes(0) {
  ans=new Answer<numtyp,acctyp>();
  nbor=new Neighbor();
  pair_program=NULL;
  ucl_device=NULL;
}

template <class numtyp, class acctyp>
BaseAtomicT::~BaseAtomic() {
  delete ans;
  delete nbor;
  if (pair_program) delete pair_program;
  k_pair_fast.clear();
  k_pair.clear();
  if (pair_program) delete pair_program;
}

template <class numtyp, class acctyp>
@@ -78,6 +79,8 @@ int BaseAtomicT::init_atomic(const int nlocal, const int nall,
  if (success!=0)
    return success;

  if (ucl_device!=device->gpu) _compiled=false;

  ucl_device=device->gpu;
  atom=&device->atom;

+4 −1
Original line number Diff line number Diff line
@@ -26,15 +26,16 @@ BaseChargeT::BaseCharge() : _compiled(false), _max_bytes(0) {
  ans=new Answer<numtyp,acctyp>();
  nbor=new Neighbor();
  pair_program=NULL;
  ucl_device=NULL;
}

template <class numtyp, class acctyp>
BaseChargeT::~BaseCharge() {
  delete ans;
  delete nbor;
  if (pair_program) delete pair_program;
  k_pair_fast.clear();
  k_pair.clear();
  if (pair_program) delete pair_program;
}

template <class numtyp, class acctyp>
@@ -78,6 +79,8 @@ int BaseChargeT::init_atomic(const int nlocal, const int nall,
  if (success!=0)
    return success;

  if (ucl_device!=device->gpu) _compiled=false;

  ucl_device=device->gpu;
  atom=&device->atom;

+4 −1
Original line number Diff line number Diff line
@@ -26,15 +26,16 @@ BaseDipoleT::BaseDipole() : _compiled(false), _max_bytes(0) {
  ans=new Answer<numtyp,acctyp>();
  nbor=new Neighbor();
  pair_program=NULL;
  ucl_device=NULL;
}

template <class numtyp, class acctyp>
BaseDipoleT::~BaseDipole() {
  delete ans;
  delete nbor;
  if (pair_program) delete pair_program;
  k_pair_fast.clear();
  k_pair.clear();
  if (pair_program) delete pair_program;
}

template <class numtyp, class acctyp>
@@ -79,6 +80,8 @@ int BaseDipoleT::init_atomic(const int nlocal, const int nall,
  if (success!=0)
    return success;

  if (ucl_device!=device->gpu) _compiled=false;

  ucl_device=device->gpu;
  atom=&device->atom;

+4 −1
Original line number Diff line number Diff line
@@ -26,15 +26,16 @@ BaseDPDT::BaseDPD() : _compiled(false), _max_bytes(0) {
  ans=new Answer<numtyp,acctyp>();
  nbor=new Neighbor();
  pair_program=NULL;
  ucl_device=NULL;
}

template <class numtyp, class acctyp>
BaseDPDT::~BaseDPD() {
  delete ans;
  delete nbor;
  if (pair_program) delete pair_program;
  k_pair_fast.clear();
  k_pair.clear();
  if (pair_program) delete pair_program;
}

template <class numtyp, class acctyp>
@@ -79,6 +80,8 @@ int BaseDPDT::init_atomic(const int nlocal, const int nall,
  if (success!=0)
    return success;

  if (ucl_device!=device->gpu) _compiled=false;

  ucl_device=device->gpu;
  atom=&device->atom;

+4 −1
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ BaseEllipsoidT::BaseEllipsoid() : _compiled(false), _max_bytes(0) {
  nbor_program=NULL;
  ellipsoid_program=NULL;
  lj_program=NULL;
  ucl_device=NULL;
}

template <class numtyp, class acctyp>
@@ -93,6 +94,8 @@ int BaseEllipsoidT::init_base(const int nlocal, const int nall,
  if (success!=0)
    return success;

  if (ucl_device!=device->gpu) _compiled=false;

  ucl_device=device->gpu;
  atom=&device->atom;

Loading