diff --git a/Grid/lattice/Lattice_base.h b/Grid/lattice/Lattice_base.h index 17f84d44..9aae3333 100644 --- a/Grid/lattice/Lattice_base.h +++ b/Grid/lattice/Lattice_base.h @@ -217,8 +217,8 @@ public: } template inline Lattice & operator = (const sobj & r){ - auto me = View(AcceleratorWriteDiscard); - accelerator_for(ss,me.size(),1,{ + auto me = View(CpuWrite); + thread_for(ss,me.size(),{ me[ss]= r; }); return *this; diff --git a/Grid/lattice/Lattice_view.h b/Grid/lattice/Lattice_view.h index 183423f7..b5887d50 100644 --- a/Grid/lattice/Lattice_view.h +++ b/Grid/lattice/Lattice_view.h @@ -107,10 +107,18 @@ class MemViewDeleter { template class LatticeView : public LatticeExprView { +#ifndef GRID_UVM std::shared_ptr Deleter; +#endif public: - LatticeView(const LatticeView &orig) : LatticeExprView(orig) { } - LatticeView(const LatticeAccelerator &refer_to_me,ViewMode mode) : +#ifdef GRID_UVM + LatticeView(const LatticeAccelerator &refer_to_me,ViewMode mode) : + LatticeExprView (refer_to_me) + { + } +#else + LatticeView(const LatticeView &orig) : LatticeExprView(orig) { } + LatticeView(const LatticeAccelerator &refer_to_me,ViewMode mode) : LatticeExprView (refer_to_me), Deleter(new MemViewDeleter) { // std::cout << "FIXME - copy shared pointer? View Open in LatticeView"<_odata<cpu_ptr = this->cpu_ptr; Deleter->mode = mode; } +#endif }; /////////////////////////////////////////////////////////////////////////////////////////