FranklandJack opened a new issue, #14759:
URL: https://github.com/apache/tvm/issues/14759

   ### Expected behavior
   
   The arm specific schedules are tested on Arm® Cortex® A Processors.
   
   ### Actual behavior
   
   The arm specific schedules are only tested on Arm® Cortex® M Processors via 
the `AOT_CORSTONE300_RUNNER` test runner.
   
   We define arm specific schedules e.g. 
[depthwise_conv2d_nchw.arm_cpu](https://github.com/apache/tvm/blob/main/python/tvm/topi/arm_cpu/depthwise_conv2d.py#L36)
 and test them e.g. 
[here](https://github.com/apache/tvm/blob/main/python/tvm/topi/arm_cpu/depthwise_conv2d.py#L36).
   
   However, these tests all inherit from 
[GeneralizedConv2dTests](https://github.com/apache/tvm/blob/main/tests/python/relay/strategy/arm_cpu/test_generalized_conv2d.py#L149)
 which only run for Arm® Cortex® M Processors, meaning we have no test coverage 
on Arm® Cortex® A Processors.
   
   Updating the target options here to include `cortex-a` won't suffice because 
of the dependency on the `AOT_CORSTONE300_RUNNER`, but these schedules should 
be getting tested on Arm® Cortex® A targets.
   
   It is also worth noting that we are explicitly testing the *generic* 
schedule for [depthwise NHWC 
conv2d](https://github.com/apache/tvm/blob/main/tests/python/relay/strategy/arm_cpu/test_depthwise_conv2d.py#L57)
 when an arm specific (non-dsp) schedule 
[exists](https://github.com/apache/tvm/blob/main/python/tvm/topi/arm_cpu/depthwise_conv2d.py#L199).
 So this should also probably be updated. 
   
   Any `cortex-m` target with DSP instructions enabled will go through the DSP 
specific schedules here, so we may even have less coverage than we think.
   
   
   ### Environment
   
   Any build environment will be able to run the tests in order to check the 
operators get compiled for the architecture, although if the tests actually run 
the models then they will need to be tested on an Arm based system with the 
[`tvm.ci_arm`](https://hub.docker.com/r/tlcpack/ci-arm/tags) image.
   
   ### Steps to reproduce
   
   The following command line should not skip the relevant schedules when the 
target list has been updated to include `cortex-a`:
   ```
   $ /path/to/tvm/pytest 
tests/python/relay/strategy/arm_cpu/test_depthwise_conv2d.py -vv
   ```
   
   ### Triage
   
   * topi
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to