From 48cb9e53cef1f1cdf2f37c36f45113368644a639 Mon Sep 17 00:00:00 2001
From: Sam Yates <yates@cscs.ch>
Date: Fri, 20 Jul 2018 16:29:40 +0200
Subject: [PATCH] Bugfix: a[i]=b[i] for memory::device_vector (#541)

* Perform device-to-device copy when device_reference is assigned a device_reference.
---
 arbor/memory/device_coordinator.hpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arbor/memory/device_coordinator.hpp b/arbor/memory/device_coordinator.hpp
index d886a0be..af8e775e 100644
--- a/arbor/memory/device_coordinator.hpp
+++ b/arbor/memory/device_coordinator.hpp
@@ -80,6 +80,10 @@ public:
         return *this;
     }
 
+    device_reference& operator=(const device_reference& ref) {
+        cuda_memcpy_d2d(pointer_, ref.pointer_, sizeof(T));
+    }
+
     operator T() const {
         T tmp;
         cuda_memcpy_d2h(&tmp, pointer_, sizeof(T));
-- 
GitLab