message: Fix timing error in async execution of copies
diff: @@ -123,6 +123,7 @@ void *PoplarExecutor::Allocate(uint64 size) {
  std::lock_guard<std::recursive_mutex> g(mutex_);
  allocations_.push_back(allocated);
  }
  + LOG(INFO) << "ALLOCATED " << size << " ON POPLAR. RET " << (void*)allocated;
  return allocated;
  }
  @@ -154,9 +155,10 @@ bool PoplarExecutor::Memcpy(Stream *stream, void *host_dst,
  bool PoplarExecutor::Memcpy(Stream *stream, DeviceMemoryBase *pop_dst,
  const void *host_src, uint64 size) {
  + DeviceMemoryBase dst = *pop_dst;
  AsPoplarStream(stream)->EnqueueTask(
  - [this, pop_dst, host_src, size]() {
  - port::Status ok = SynchronousMemcpy(pop_dst, host_src, size); });
  + [this, dst, host_src, size]() mutable {
  + port::Status ok = SynchronousMemcpy(&dst, host_src, size); });
  return true;
  }
  