code: def cuda_deserialize_numba_ndarray(header, frames):
      (frame,) = frames
      shape = header["shape"]
      strides = header["strides"]
  
      arr = numba.cuda.devicearray.DeviceNDArray(
          shape=shape,
          strides=strides,
          dtype=np.dtype(header["typestr"]),
          gpu_data=numba.cuda.as_cuda_array(frame).gpu_data,
      )
      return arr
  
file_path: distributed/distributed/protocol/numba.py
imports: from __future__ import annotations
  import weakref
  import numba.cuda
  import numpy
  from distributed.protocol.cuda import cuda_deserialize, cuda_serialize
  from distributed.protocol.serialize import dask_deserialize, dask_serialize
label_desc: Use image node_id 2 for calling a global function with example usage: cuda_deserialize_numba_ndarray(header, frames) and returns: arr