code: def to_dlpack_for_read(data):
      
      data.wait_to_read()
      dlpack = DLPackHandle()
      check_call(_LIB.MXNDArrayToDLPack(data.handle, ctypes.byref(dlpack)))
      return ctypes.pythonapi.PyCapsule_New(dlpack, _c_str_dltensor, _c_dlpack_deleter)
docs: Returns a reference view of NDArray that represents as DLManagedTensor until
         all previous write operations on the current array are finished.
  
      Parameters
      ----------
      data: NDArray
          input data.
  
      Returns
      -------
      PyCapsule (the pointer of DLManagedTensor)
          a reference view of NDArray that represents as DLManagedTensor.
  
      Examples
      --------
      >>> x = mx.nd.ones((2,3))
      >>> y = mx.nd.to_dlpack_for_read(x)
      >>> type(y)
      <class 'PyCapsule'>
      >>> z = mx.nd.from_dlpack(y)
      >>> z
      [[1. 1. 1.]
       [1. 1. 1.]]
      <NDArray 2x3 @cpu(0)>