diff --git a/runtime/pairs.cpp b/runtime/pairs.cpp index bb18af189a7bf0137d4bf15f9fbeb8ddb512801a..9ec1f23a2bfc64eb2665d99a7625bcd731d9618a 100644 --- a/runtime/pairs.cpp +++ b/runtime/pairs.cpp @@ -325,7 +325,6 @@ void PairsSimulation::communicateData( copyArrayToHost(nsend_id, ReadOnly); copyArrayToHost(nrecv_id, ReadOnly); - /* int nsend_all = 0; int nrecv_all = 0; for(int d = 0; d <= dim; d++) { @@ -334,18 +333,15 @@ void PairsSimulation::communicateData( nrecv_all += nrecv[d * 2 + 0]; nrecv_all += nrecv[d * 2 + 1]; } - */ - copyArrayToHost(send_buf_id, ReadOnly); - //copyArrayToHost(send_buf_id, Ignore, nsend_all * elem_size * sizeof(real_t)); + copyArrayToHost(send_buf_id, Ignore, nsend_all * elem_size * sizeof(real_t)); array_flags->setHostFlag(recv_buf_id); array_flags->clearDeviceFlag(recv_buf_id); this->getDomainPartitioner()->communicateData( dim, elem_size, send_buf, send_offsets, nsend, recv_buf, recv_offsets, nrecv); - //copyArrayToHost(recv_buf_id, Ignore); - //copyArrayToHost(recv_buf_id, Ignore, nrecv_all * elem_size * sizeof(real_t)); + copyArrayToDevice(recv_buf_id, Ignore, nrecv_all * elem_size * sizeof(real_t)); /* // Debug messages diff --git a/src/pairs/sim/comm.py b/src/pairs/sim/comm.py index 83db6e06db2717bdaf545a02b252ba729a6edc11..e6fc4f661c906f9db55af61aa2885a841ebcce69 100644 --- a/src/pairs/sim/comm.py +++ b/src/pairs/sim/comm.py @@ -26,14 +26,14 @@ class Comm: self.neigh_capacity = sim.add_var('neigh_capacity', Types.Int32, 10) self.nsend = sim.add_array('nsend', [self.neigh_capacity], Types.Int32) self.send_offsets = sim.add_array('send_offsets', [self.neigh_capacity], Types.Int32) - self.send_buffer = sim.add_array('send_buffer', [self.send_capacity, self.elem_capacity], Types.Real) + self.send_buffer = sim.add_array('send_buffer', [self.send_capacity, self.elem_capacity], Types.Real, arr_sync=False) self.send_map = sim.add_array('send_map', [self.send_capacity], Types.Int32) self.exchg_flag = sim.add_array('exchg_flag', [sim.particle_capacity], Types.Int32) self.exchg_copy_to = sim.add_array('exchg_copy_to', [self.send_capacity], Types.Int32) self.send_mult = sim.add_array('send_mult', [self.send_capacity, sim.ndims()], Types.Int32) self.nrecv = sim.add_array('nrecv', [self.neigh_capacity], Types.Int32) self.recv_offsets = sim.add_array('recv_offsets', [self.neigh_capacity], Types.Int32) - self.recv_buffer = sim.add_array('recv_buffer', [self.recv_capacity, self.elem_capacity], Types.Real) + self.recv_buffer = sim.add_array('recv_buffer', [self.recv_capacity, self.elem_capacity], Types.Real, arr_sync=False) self.recv_map = sim.add_array('recv_map', [self.recv_capacity], Types.Int32) self.recv_mult = sim.add_array('recv_mult', [self.recv_capacity, sim.ndims()], Types.Int32)