[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-29 Thread KireinaHoro via TVM Discuss
Got the point. Let's bring this up when I get the PR ready. Thanks for the attention. --- [Visit Topic](https://discuss.tvm.ai/t/do-not-write-tensor-data-in-microtvm-with-autotvm/6109/10) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from the

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-29 Thread tqchen via TVM Discuss
It depends on the case, some floating pt unit have longer time for NA and different values. If it is a fixed cycle unit, we might be fine --- [Visit Topic](https://discuss.tvm.ai/t/do-not-write-tensor-data-in-microtvm-with-autotvm/6109/9) to respond. You are receiving this because you en

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-29 Thread KireinaHoro via TVM Discuss
That sounds reasonable, but it's not working, as the default behavior in AutoTVM for `ref_input is None` is already using `nd.empty`: ```python args = [nd.empty(x[0], dtype=x[1], ctx=ctx) for x in build_result.arg_info] ``` Maybe the `copyfrom` logic should check the `empty` case, but I haven'

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-29 Thread tqchen via TVM Discuss
you can use tvm.nd.empty to achieve the same goal. Note that however, if the memory is still need to be initialized(perhaps via a remote RPC call), otherwise it can impact the perf --- [Visit Topic](https://discuss.tvm.ai/t/do-not-write-tensor-data-in-microtvm-with-autotvm/6109/7) to res

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-29 Thread KireinaHoro via TVM Discuss
Okay I think I found the right place to hack to disable copying contents when creating an NDArray: https://github.com/KireinaHoro/tvm/commit/6c5aafd4fe41a65eb1474d5c3dbcbb00339795e9. Will submit a PR when I get the time. --- [Visit Topic](https://discuss.tvm.ai/t/do-not-write-tensor-data

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-27 Thread Logan Weber via TVM Discuss
@KireinaHoro Yes, OpenOCD is unfortunately very slow. The way I've sped things up in my personal usage has been to run AutoTVM with 8 microcontrollers, but I'd like to have a solution that doesn't require "brute forcing" it with devices. Do you have the `check_correctness` option set? If so

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-27 Thread KireinaHoro via TVM Discuss
Besides, I'm wondering if the AutoTVM implementation for uTVM in https://github.com/apache/incubator-tvm/pull/4274 is complete: I can only find some RPC server modification, but not how to bridge the micro build process into `LocalBuilder`. As I'm on a deadline, I'm simply hacking into the c

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-27 Thread KireinaHoro via TVM Discuss
Spike accepts `remote-bitbang` protocol, which is exactly how OpenOCD itself communicates with Spike. The protocol should not be too complex to implement, since we only need `Read` `Write` and `Execute`. I'm actually working on a second implementation for `LowLevelDevice` for Rocket Chip (RI

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-27 Thread tqchen via TVM Discuss
we could also explore a possibly alternative approach to hook up spike directly(not via openOCD), which might enable us to get around the problem of data copy speed(via directly memory copy shortcuts into the simulator). openOCD is only one way to implement https://github.com/apache/incubat

[TVM Discuss] [Questions] Do not write tensor data in MicroTVM with AutoTVM

2020-03-27 Thread KireinaHoro via TVM Discuss
I'm trying to do some autotuning with MicroTVM RISC-V Spike. It seems like the current implementation will write input arrays to the device over OpenOCD, which is prohibitively slow when the input gets bigger (e.g. 512x512 `int8` arrays). To my understanding, we should be able to omit the da