From 4b16200ae101d3cbd791bb66ed77235a3dc72fd7 Mon Sep 17 00:00:00 2001
From: Behzad Safaei <iwia103h@a0125.nhr.fau.de>
Date: Sat, 16 Nov 2024 13:08:11 +0100
Subject: [PATCH] Solved CopyProperty issue (GPU builds now)

---
 examples/dem_sd.py                    | 2 +-
 src/pairs/ir/device.py                | 2 +-
 src/pairs/sim/comm.py                 | 1 -
 src/pairs/transformations/__init__.py | 1 +
 4 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/examples/dem_sd.py b/examples/dem_sd.py
index d1a78d9..ac56506 100644
--- a/examples/dem_sd.py
+++ b/examples/dem_sd.py
@@ -101,7 +101,7 @@ psim = pairs.simulation(
     use_contact_history=False,
     particle_capacity=1000000,
     neighbor_capacity=20,
-    debug=True, generate_whole_program=True)
+    debug=True, generate_whole_program=False)
 
 if target == 'gpu':
     psim.target(pairs.target_gpu())
diff --git a/src/pairs/ir/device.py b/src/pairs/ir/device.py
index 952ff14..d7cb0d1 100644
--- a/src/pairs/ir/device.py
+++ b/src/pairs/ir/device.py
@@ -72,7 +72,7 @@ class CopyProperty(ASTNode):
         return self._action
 
     def children(self):
-        return [self._prop]
+        return [self._prop, self.sim.nghost, self.sim.nlocal]
 
 
 class CopyContactProperty(ASTNode):
diff --git a/src/pairs/sim/comm.py b/src/pairs/sim/comm.py
index 119e432..6ca1fc8 100644
--- a/src/pairs/sim/comm.py
+++ b/src/pairs/sim/comm.py
@@ -394,7 +394,6 @@ class PackGhostParticlesReverse(Lowerable):
     @pairs_device_block
     def lower(self):
         nlocal = self.sim.nlocal
-        nghost = self.sim.nghost
         send_buffer_reverse = self.comm.send_buffer_reverse
         send_buffer_reverse.set_stride(1, self.get_elems_per_particle())
 
diff --git a/src/pairs/transformations/__init__.py b/src/pairs/transformations/__init__.py
index 469133c..36df851 100644
--- a/src/pairs/transformations/__init__.py
+++ b/src/pairs/transformations/__init__.py
@@ -73,6 +73,7 @@ class Transformations:
     def add_device_copies(self):
         if self._target.is_gpu():
             self.apply(AddDeviceCopies(), [self._module_resizes])
+            self.analysis().fetch_modules_references()
 
     def add_device_kernels(self):
         if self._target.is_gpu():
-- 
GitLab