code: def test_raw_gridsize_3D(self):
      @jit.rawkernel()
      def f(arr):
          x, y, z = jit.grid(3)
          gx, gy, gz = jit.gridsize(3)
          if x == 0 and y == 0 and z == 0:
              arr[0] = gx
              arr[1] = gy
              arr[2] = gz
  
      x = cupy.zeros(3)
      grid = (2, 7, 4)
      block = (3, 5, 11)
      f(grid, block, (x,))
      assert x[0] == grid[0] * block[0]
      assert x[1] == grid[1] * block[1]
      assert x[2] == grid[2] * block[2]
  
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 9 for calling the TestRaw obj's underlying member method code with example usage: obj.test_raw_gridsize_3D() without return types