in 
[MetalWorkspace::CopyDataFromTo](https://github.com/apache/tvm/blob/main/src/runtime/metal/metal_device_api.mm#L228)
 three situation is handled:
1. Copy from Metal to Metal
2. Copy from CPU to Metal
3. Copy from Metal to CPU
I.e. in your case one more extra copy will be done and it will be much easier 
currently just to pass NDArray working with CPU context.
Could you pass `m_cpuInput` to `set_input("INPUT", m_cpuInput);` and verify the 
result? 

Another difference - I looked in my code and figured out that I have not used 
`TVMArrayCopyFromTo`, but used function of NDArray. Like
```
tvm::runtime::NDArray output = getOutput_(0);
output.CopyTo(y_);
```
where output will be NDArray working with Metal context and y_ - NDArray 
allocated for CPU context





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/irrespective-of-input-same-output-ios-tvm-model/10765/10)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/15af9363700f3866a60accb1c76307a22d4ff2265cb8620910dad9f27cd21511).

Reply via email to