apache / tvm

Open deep learning compiler stack for cpu, gpu and specialized accelerators
https://tvm.apache.org/
Apache License 2.0
11.82k stars 3.48k forks source link

[Bug][microTVM] RPC server is flaky on the Arduino Nano 33 BLE #8730

Closed guberti closed 2 months ago

guberti commented 3 years ago

The Arduino support implemented in #8708 works well on a wide variety of boards, but the RPC server sometimes fails only when running on the Arduino Nano 33 BLE. Which and how many tests fail is inconsistent from run to run. It doesn't seem to be a memory error, as the test that allocates a 161024 array will sometimes succeed while the test allocating a 11024 array fails.

Included below are two logs for two runs of test_arduino_rpc_server.py. The verbose log was created by running:

pytest test_arduino_rpc_server.py --microtvm-platforms nano33ble -s --tvm-debug --log-cli-level=debug

nano_33_ble_rpc_verbose.log

The non-verbose one was created by running:

pytest test_arduino_rpc_server.py --microtvm-platforms nano33ble -s

nano_33_ble_rpc.log

cc @alanmacd @gromero @mehrdadh

guberti commented 3 years ago

The RPC server behaves nicely on a variety of devices, including the Arduino Due, Seeed Wio Terminal, and Sony Spresense. It's just the Nano 33 BLE which has this issue.