code: def test_raw_grid_2D(self):
      @jit.rawkernel()
      def f(arr1, arr2, n, m):
          x, y = jit.grid(2)
          # TODO(leofang): make it possible to write this:
          # if x < arr1.shape[0] and y < arr1.shape[1]:
          if x < n and y < m:
              arr2[x, y] = arr1[x, y]
  
      x = cupy.arange(20).reshape(4, 5)
      y = cupy.empty_like(x)
      f((1,), (4, 5), (x, y, x.shape[0], x.shape[1]))
      assert (x == y).all()
  
imports: import numpy
  import pytest
  import cupy
  from cupyx import jit
  from cupy import testing
  from cupy.cuda import device
  from cupy.cuda import runtime
label_desc: Use image node_id 2 for calling the TestRaw obj's underlying member method code with example usage: obj.test_raw_grid_2D() without return types