> > We may need to find a way to make our containers capable of holding 
> > NDArrays. FFI containers are mainly adapted from TVM and can only hold 
> > ObjectRefs from object system. Different from TVM's NDArray, which inherits 
> > from ObjectRef and there is customized smart pointer called ObjectPtr to 
> > count references, NDArray in MXNet uses shared pointer to hold internal 
> > data. Holding NDArray in container requires NDArrayHandle can affect 
> > NDArray's reference counting.
> 
> It seems that the key difference between the TVM NDArray and MXNet NDArray 
> wrt to FFI is that in TVM, the Ref will own a copy of the NDArray, whereas in 
> the current implementation, MXNet NDArrayHandle in the FFI only owns a 
> pointer to the underlying array. Changing the MXNet FFI to also own the 
> underlying NDArray (copy constructor instead of pointer) should resolve the 
> issue. Copy of the MXNet array would be cheap, as it only holds some metadata 
> information and a shared pointer to the underlying storage chunk. WDYT?

Yes, I agree with you. Owning the underlying NDArray instead of a pointer in 
NDArrayHandle should achieve the goal.  

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/19672#issuecomment-745460259

Reply via email to