As we start to build multiple modules, it is useful to start modularizing the
unit-tests with a goal of reducing some of the actual integration tests.
Previously quite a few tests are written in a way that directly invokes end to
end compilation, we also have tests that are coupled with legacy te pipeline.
There are several issues, some of the tests running slow, and when regression
happens it is harder to find out why since the tests are not unit tests in
nature.
While sometimes some related tests are necessary and we would like to keep some
legacy tests for a bit. It is important to move to a more unit-testing regime
for new tests, and explicitly mark(group) tests that involves end to end
execution (and slower). Having tests in different folder also helps us think
more carefully about module boundaries. Of course we still want to be pragmatic
and not too pedantic. For example, we still love the python first infra that
helps us productively write tests, and some level of coupling is useful for us
to productively write tests.
To keep things simple, I would like us to try get things moving starting with
one module (TensorIR).
Here is how we can incrementally do that for TensorIR (and use this as an
example).
- Start with a new folder `tests/python/tir`
- Put new TensorIR unit-tests into this folder
- Migrate some test cases from existing ones into this folder, with the
following goals
- Always use TVMScript/IRBuilder before/after to unit test each pass
- Avoid calling the build pipeline
- For those that involves build e2e pipeline
- OK to include some for target specific generation, in this case, start
from (scheduled) TVMScript
- Ensure such generation are fast (<1min)
- Have an explicit naming pattern `test_e2e_xxx`
- Move slow tests into a separate folder `tests/python/slow/tir`
Everything should work as it is. Of course we can still leave some legacy tests
in the old place and once we done modularizing, we also would have a clear
picture of things
---
[Visit
Topic](https://discuss.tvm.apache.org/t/modularize-and-modernize-tensorir-tests/15237/1)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discuss.tvm.apache.org/email/unsubscribe/90a778d0a619331911265e4b7f2e3dfdba6533e28e4efc179690848094733659).