code: def pin_memory_inplace(tensor):
      """Register the tensor into pinned memory in-place (i.e. without copying).
      Users are required to save the returned dgl.ndarray object to avoid being unpinned.
  
      Parameters
      ----------
      tensor : Tensor
          The tensor to be pinned.
  
      Returns
      -------
      dgl.ndarray
          The dgl.ndarray object that holds the pinning status and shares the same
          underlying data with the tensor.
      """
      if F.backend_name in ["mxnet", "tensorflow"]:
          raise DGLError(
              "The {} backend does not support pinning "
              "tensors in-place.".format(F.backend_name)
          )
  
      # needs to be writable to allow in-place modification
      try:
          nd_array = F.zerocopy_to_dgl_ndarray_for_write(tensor)
          nd_array.pin_memory_()
          return nd_array
      except Exception as e:
          raise DGLError(
              "Failed to pin memory in-place due to: {}".format(e)
          )
  
imports: from ..None import backend
  from .._ffi.function import _init_api
  from ..base import DGLError
label_desc: Use image node_id 1 for calling a global function with example usage: pin_memory_inplace(tensor) and returns: nd_array