|
|
@ -377,9 +377,11 @@ class WaveSimCuda(WaveSim): |
|
|
|
|
|
|
|
|
|
|
|
def _grid_dim(self, x, y): return cdiv(x, self._block_dim[0]), cdiv(y, self._block_dim[1]) |
|
|
|
def _grid_dim(self, x, y): return cdiv(x, self._block_dim[0]), cdiv(y, self._block_dim[1]) |
|
|
|
|
|
|
|
|
|
|
|
def c_prop(self, sims=None, seed=1): |
|
|
|
def c_prop(self, sims=None, seed=1, op_from=0, op_to=None): |
|
|
|
sims = min(sims or self.sims, self.sims) |
|
|
|
sims = min(sims or self.sims, self.sims) |
|
|
|
for op_start, op_stop in zip(self.level_starts, self.level_stops): |
|
|
|
for op_start, op_stop in zip(self.level_starts, self.level_stops): |
|
|
|
|
|
|
|
if op_from > op_start: continue |
|
|
|
|
|
|
|
if op_to is not None and op_to <= op_start: break |
|
|
|
grid_dim = self._grid_dim(sims, op_stop - op_start) |
|
|
|
grid_dim = self._grid_dim(sims, op_stop - op_start) |
|
|
|
wave_eval_gpu[grid_dim, self._block_dim](self.ops, op_start, op_stop, self.c, self.c_locs, self.c_caps, self.abuf, int(0), |
|
|
|
wave_eval_gpu[grid_dim, self._block_dim](self.ops, op_start, op_stop, self.c, self.c_locs, self.c_caps, self.abuf, int(0), |
|
|
|
sims, self.delays, self.simctl_int, seed) |
|
|
|
sims, self.delays, self.simctl_int, seed) |
|
|
|