Wheest commented on pull request #7142: URL: https://github.com/apache/tvm/pull/7142#issuecomment-749822386
Thanks, I understand better what a good test for this PR would be: one that fails on the current `main` branch but not this PR. I've been working on devising a test like this, but haven't got one that fails yet. Will keep working on it, but here's my reasoning so far: afaik the workload data is only used the creation of fallback schedules. e.g. [for creating the `"tile_ow"` parameter for spatial pack convolution](https://github.com/apache/tvm/blob/main/python/tvm/topi/x86/conv2d_avx_common.py#L54). So I imagine I would want to create a test that has padding such that something like `"tile_ow"` is generated with an incorrect value, creating a schedule that causes an invalid transformation. e.g. `verify_conv2d_nchw(1, 64, 8, 128, 3, 1, (6, 6, 0, 0))` If we are to focus on NCHWc convolution, which uses `"tile_ow"` in its schedule (via SplitEntity with `reg` in the `_fallback_schedule`) [`python/tvm/topi/x86/conv2d_avx_common.py#L119`](https://github.com/apache/tvm/blob/main/python/tvm/topi/x86/conv2d_avx_common.py#L119). There is no value we can set `reg` or `"tile_ow"` to that will cause an invalid transformation, even through silly hardcoding like `out_width = 10000` or `ow_chunk, ow_block = s[C].split(ow, factor=10000)` It always works. Though perhaps it suffers a performance regression? It could be happenstance that none of the conv2d schedules make transformations that are rendered invalid by having an incorrect value for the output height/width. That being the case, I'm unsure how I would devise a test for this. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected]
