-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TEST] Remove llvm -device=arm_cpu
and cuda -libs=cudnn
from default enabled list
#9905
Conversation
cc @u99127 @Mousius @manupa-arm this is an idea that came up internally but it'd be great to get your feedback regarding test coverage. we could leave this enabled e.g. on ci-arm, too. |
Does anyone know what exactly |
For history, the I added the |
Thanks @Lunderberg, I think testing for external libs are outside the scope of default enabled list. For complete coverage, we should also exercise cublas, mkl etc with full integration tests but that would be impractical. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I think we would need to leave it in place for the testing on ci_arm . I am also not immediately sure what testing coverage is lost by removing this - perhaps see the difference in reports for pytest-cov before taking this off so that we make an informed decision . regards |
@u99127 @areusch I looked it what tvm/python/tvm/autotvm/tophub.py Line 107 in 6b2cbfe
Anyway, running both |
ok, I missed that
is odd, since |
I'm going to merge this unless there is no further comment. |
I'd be happier with a comparison test run of say the topi tests with both llvm and llvm -device=arm_cpu on a ci_cpu machine to see what the difference is. I've not had the chance to look at the difference if any in test results for topi on aarch64 with llvm vs llvm -device=arm_cpu on a ci_arm environment. That's not on by default yet but I was working on that a bit slowly. regards |
Yeah, CI job time has been very unstable recently (some finishes in 4 hours while others > 8). So it's difficult to assess how much this helps. Note that "llvm" means x86 specifically, so you never use |
…che#9905) default list
…che#9905) default list
…fault test target list (#10500) After recent improvement in GPU frontend tests, I found that `topi: GPU` has become a bottleneck. From the log https://ci.tlcpack.ai/blue/organizations/jenkins/tvm/detail/PR-10391/14/pipeline/319, it is clear that topi tests are running on target `llvm -device=arm_cpu` and `cuda -libs=cudnn`, which I claim is completely redundant since we already run on `llvm` and `cuda` targets. In #9905, I've already removed them from `DEFAULT_TEST_TARGETS`, but `topi: GPU` uses its own list of targets which still includes `llvm -device=arm_cpu` and `cuda -libs=cudnn`. I propose to remove them from topi test targets, which hopefully will cut topi GPU tests time by half.
…fault test target list (apache#10500) After recent improvement in GPU frontend tests, I found that `topi: GPU` has become a bottleneck. From the log https://ci.tlcpack.ai/blue/organizations/jenkins/tvm/detail/PR-10391/14/pipeline/319, it is clear that topi tests are running on target `llvm -device=arm_cpu` and `cuda -libs=cudnn`, which I claim is completely redundant since we already run on `llvm` and `cuda` targets. In apache#9905, I've already removed them from `DEFAULT_TEST_TARGETS`, but `topi: GPU` uses its own list of targets which still includes `llvm -device=arm_cpu` and `cuda -libs=cudnn`. I propose to remove them from topi test targets, which hopefully will cut topi GPU tests time by half.
…fault test target list (apache#10500) After recent improvement in GPU frontend tests, I found that `topi: GPU` has become a bottleneck. From the log https://ci.tlcpack.ai/blue/organizations/jenkins/tvm/detail/PR-10391/14/pipeline/319, it is clear that topi tests are running on target `llvm -device=arm_cpu` and `cuda -libs=cudnn`, which I claim is completely redundant since we already run on `llvm` and `cuda` targets. In apache#9905, I've already removed them from `DEFAULT_TEST_TARGETS`, but `topi: GPU` uses its own list of targets which still includes `llvm -device=arm_cpu` and `cuda -libs=cudnn`. I propose to remove them from topi test targets, which hopefully will cut topi GPU tests time by half.
Right now
tvm.testing.enabled_targets()
returnllvm -device=arm_cpu
andcuda -libs=cudnn
(if cudnn is enabled, applies to CI env) in addition tollvm
andcuda
. So all tests that loop over enabled targets usingtvm.testing.enabled_targets()
are essentially running x86 and cuda tests twice.I don't see a reason to run
llvm -device=arm_cpu
tests in addition tollvm
. For cudnn, we have separate unit tests dedicated for it, we don't need to run full integration tests with it.I did this change for PyTorch in #9781 and it sped up local testing time significantly. It should make the CI situation a lot better.
@areusch @leandron @Lunderberg @driazati