Hi @Dileep -
There were a couple of problems I was running into:
1. The xcode build process initiated by the popen_test_rpc() was being
terminated prematurely when run in the fcompile build_func.
2. The temp dylib filename with full path was not accessible from the ios rpc
runner. As a hack to test, I removed the tmp_dir and just created the dylib in
the local run directory.
3. remote.upload() should not be called because the dylib is built into the app
Following the code in my previous post, making the following changes should be
all you need to get started. I'm going to look at a real solution that's not
just a quick hack, but this may get you up and running.
```
def fcompile(*args):
print("\nCalling fcompile. args[0] = %s" % args[0])
xcode.create_dylib(*args, arch=arch, sdk=sdk)
path = args[0]
xcode.codesign(path)
```
```
diff --git a/python/tvm/autotvm/measure/measure_methods.py
b/python/tvm/autotvm/measure/measure_methods.py
index 9cef674d3..784184e61 100644
--- a/python/tvm/autotvm/measure/measure_methods.py
+++ b/python/tvm/autotvm/measure/measure_methods.py
@@ -426,8 +426,9 @@ class _WrappedBuildFunc():
"""
tic = time.time()
try:
- filename = os.path.join(tmp_dir, "tmp_func_%0x.%s" % (
- getrandbits(64), self.build_func.output_format))
+ # filename = os.path.join(tmp_dir, "tmp_func_%0x.%s" % (
+ # getrandbits(64), self.build_func.output_format))
+ filename = "tmp_func_%0x.%s" % (getrandbits(64),
self.build_func.output_format)
# TODO(tvm-team) consider linline _build_func_common
func, arg_info = _build_func_common(measure_input, **kwargs)
func.export_library(filename, self.build_func)
@@ -485,6 +486,8 @@ def run_through_rpc(measure_input, build_result,
errno = MeasureErrorNo.NO_ERROR
try:
# upload built module
+ from tvm.contrib import xcode
+ xcode.popen_test_rpc(os.environ["TVM_IOS_RPC_PROXY_HOST"], 9090,
"iphone", destination=os.environ["TVM_IOS_RPC_DESTINATION"],
libs=[os.path.split(build_result.filename)[1]])
remote = request_remote(*remote_args)
# Program the FPGA every single time when targeting VTA
if hasattr(measure_input.target, 'device_name') and \
@@ -493,7 +496,7 @@ def run_through_rpc(measure_input, build_result,
from vta import program_fpga, reconfig_runtime
program_fpga(remote, None)
reconfig_runtime(remote)
- remote.upload(build_result.filename)
+ # remote.upload(build_result.filename)
func = remote.load_module(os.path.split(build_result.filename)[1])
ctx = remote.context(str(measure_input.target), 0)
```
---
[Visit
Topic](https://discuss.tvm.ai/t/auto-tvm-how-to-auto-tune-the-model-on-ios-device/7681/12)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discuss.tvm.ai/email/unsubscribe/63f94793ba7aa57a3195285177f627a7d002003b3872e4d9f0509f96459ba027).