TVM iOS deployment

I have went through the “ios_rpc” directory and noticed that it only launches an RPC server on the iPhone device and requires a python script to be ran on another device. I noticed that there is a deployment for Android, but not for iOS in the “apps” repository. Can iOS, for example, run TVM’s matrix multiplication example or Single Shot Multibox Detector (SSD) model with only one iPhone? What would be the best way to deploy TVM to run on iOS? Thank you.

Hi, @rHammerschmidt did you found any solution?

I am looking for the answer of this question too. Any help would be appreciated.

Hi, I deployed this on iphone by writing c++ equivalents of the android deploy. The graph runtime create function has to be retrieved from the runtime registry. The dylib file is loaded using the runtime LoadFromFile. I also wrote the hooks for getFunction (load_params, run, get_input, set_input, get_output). Make sure to also include TVMRuntime.mm in your project.

1 Like

@rissalew Thanks for sharing your experience. Do you use Metal as the target for ios devices?

Yes, metal is the target. It also works with llvm for the cpu, although with a different arm target.

Thank you very much! Will try to implement it.

Could you please share your ios project for study?