def test_reset(ctx, rng): # Yshapes = [(100,), (10, 17), (3, 3)] Yshapes = [(1000000, ), (1000, 1700), (3, 3)] values = rng.uniform(size=len(Yshapes)).astype(np.float32) queue = cl.CommandQueue(ctx) clY = CLRA(queue, RA([np.zeros(shape) for shape in Yshapes])) clvalues = to_device(queue, values) plan = plan_reset(queue, clY, clvalues) with Timer() as t: plan() print(t.duration) # with Timer() as t: # for i in range(len(clY)): # cl.enqueue_fill_buffer( # queue, clY.cl_buf.data, values[i], # clY.starts[i], clY.shape0s[i] * clY.shape1s[i]) # queue.finish() # print(t.duration) for y, v in zip(clY, values): assert np.all(y == v)
def test_reset(rng): # Yshapes = [(100,), (10, 17), (3, 3)] Yshapes = [(1000000,), (1000, 1700), (3, 3)] values = rng.uniform(size=len(Yshapes)).astype(np.float32) queue = cl.CommandQueue(ctx) clY = CLRA(queue, RA([np.zeros(shape) for shape in Yshapes])) clvalues = to_device(queue, values) plan = plan_reset(queue, clY, clvalues) with Timer() as t: plan() print(t.duration) # with Timer() as t: # for i in range(len(clY)): # cl.enqueue_fill_buffer( # queue, clY.cl_buf.data, values[i], # clY.starts[i], clY.shape0s[i] * clY.shape1s[i]) # queue.finish() # print(t.duration) for y, v in zip(clY, values): assert np.all(y == v)
def plan_Reset(self, ops): targets = self.all_data[[self.sidx[op.dst] for op in ops]] values = self.Array([op.value for op in ops]) return [plan_reset(self.queue, targets, values)]