code: def test_pyarrow_jit(c, dtype):
      ctx, nb_ctx = context_choices[c]
  
      @nb_cuda.jit
      def increment_by_one(an_array):
          pos = nb_cuda.grid(1)
          if pos < an_array.size:
              an_array[pos] += 1
  
      # applying numba.cuda kernel to memory hold by CudaBuffer
      size = 10
      arr, cbuf = make_random_buffer(
          size, target="device", dtype=dtype, ctx=ctx
      )
      threadsperblock = 32
      blockspergrid = (
          arr.size + (threadsperblock - 1)
      ) // threadsperblock
      mem = cbuf.to_numba()
      darr = DeviceNDArray(
          arr.shape, arr.strides, arr.dtype, gpu_data=mem
      )
      increment_by_one[blockspergrid, threadsperblock](darr)
      cbuf.context.synchronize()
      arr1 = np.frombuffer(cbuf.copy_to_host(), dtype=arr.dtype)
      np.testing.assert_equal(arr1, arr + 1)
  
file_path: arrow/python/pyarrow/tests/test_cuda_numba_interop.py
imports: import pytest
  import pyarrow
  import numpy
  from numba.cuda.cudadrv.devicearray import DeviceNDArray
label_desc: Use image node_id 9 for calling a global function with example usage: test_pyarrow_jit(c, dtype) without return types