-
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
[UnitTests] Added cuDNN to default test targets #8383
Conversation
04a36d4
to
1a2838e
Compare
Updated to fix pylint error. |
b6fb4d9
to
f57debb
Compare
Current failures.
|
f57debb
to
0ab1190
Compare
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.
It would be better to also let a Vulkan folk review the changes in target_kind.cc
.
python/tvm/testing.py
Outdated
if len(target_names) == 0: | ||
target_names = DEFAULT_TEST_TARGETS |
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.
nit
if len(target_names) == 0: | |
target_names = DEFAULT_TEST_TARGETS | |
if not target_names: | |
target_names = DEFAULT_TEST_TARGETS |
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.
Good call, and updated.
80db1a3
to
4df4417
Compare
4df4417
to
93a9535
Compare
…arget - Read target.kind.name instead of using string manipulation. - Target device query on a non-existent target is no longer an error. This occurs if expanding `vulkan -from_device=0` on a non-GPU machine.
Some unit tests explicitly test cudnn in addition to `tvm.testing.enabled_targets()`. This moved the cudnn checks into the same framework as all other targets, and adds it to the default list of targets to be run. Also, added `@tvm.testing.requires_cudnn` for tests specific to cudnn.
93a9535
to
3d2d719
Compare
Hopefully the last update needed here, rebased to main and fixed an issue with the conv2d_cudnn handling of dilation. |
Previously, cuda/nvptx targets were excluded. Changed it to look up by target.kind.name, and to also exclude vulkan/opencl, as the dynamic lookup currently doesn't work on those backends.
* [Target][UnitTests] Look up target requirements based on tvm.target.Target - Read target.kind.name instead of using string manipulation. - Target device query on a non-existent target is no longer an error. This occurs if expanding `vulkan -from_device=0` on a non-GPU machine. * [UnitTests] Added cuDNN target to default test targets Some unit tests explicitly test cudnn in addition to `tvm.testing.enabled_targets()`. This moved the cudnn checks into the same framework as all other targets, and adds it to the default list of targets to be run. Also, added `@tvm.testing.requires_cudnn` for tests specific to cudnn. * [UnitTests] pytest.xfail for CuDNN conv2d with asymmetric padding * [Topi][CuDNN] Added handling of dilation to conv2d_cudnn * [Topi] Skip dynamic batch matmul on cudnn, vulkan, opencl Previously, cuda/nvptx targets were excluded. Changed it to look up by target.kind.name, and to also exclude vulkan/opencl, as the dynamic lookup currently doesn't work on those backends. Co-authored-by: Eric Lunderberg <elunderberg@octoml.ai>
* [Target][UnitTests] Look up target requirements based on tvm.target.Target - Read target.kind.name instead of using string manipulation. - Target device query on a non-existent target is no longer an error. This occurs if expanding `vulkan -from_device=0` on a non-GPU machine. * [UnitTests] Added cuDNN target to default test targets Some unit tests explicitly test cudnn in addition to `tvm.testing.enabled_targets()`. This moved the cudnn checks into the same framework as all other targets, and adds it to the default list of targets to be run. Also, added `@tvm.testing.requires_cudnn` for tests specific to cudnn. * [UnitTests] pytest.xfail for CuDNN conv2d with asymmetric padding * [Topi][CuDNN] Added handling of dilation to conv2d_cudnn * [Topi] Skip dynamic batch matmul on cudnn, vulkan, opencl Previously, cuda/nvptx targets were excluded. Changed it to look up by target.kind.name, and to also exclude vulkan/opencl, as the dynamic lookup currently doesn't work on those backends. Co-authored-by: Eric Lunderberg <elunderberg@octoml.ai>
* [Target][UnitTests] Look up target requirements based on tvm.target.Target - Read target.kind.name instead of using string manipulation. - Target device query on a non-existent target is no longer an error. This occurs if expanding `vulkan -from_device=0` on a non-GPU machine. * [UnitTests] Added cuDNN target to default test targets Some unit tests explicitly test cudnn in addition to `tvm.testing.enabled_targets()`. This moved the cudnn checks into the same framework as all other targets, and adds it to the default list of targets to be run. Also, added `@tvm.testing.requires_cudnn` for tests specific to cudnn. * [UnitTests] pytest.xfail for CuDNN conv2d with asymmetric padding * [Topi][CuDNN] Added handling of dilation to conv2d_cudnn * [Topi] Skip dynamic batch matmul on cudnn, vulkan, opencl Previously, cuda/nvptx targets were excluded. Changed it to look up by target.kind.name, and to also exclude vulkan/opencl, as the dynamic lookup currently doesn't work on those backends. Co-authored-by: Eric Lunderberg <elunderberg@octoml.ai>
Some unit tests explicitly test cudnn in addition to tvm.testing.enabled_targets(). This moved the cudnn checks into the same framework as all other targets, and adds it to the default list of targets to be run. Also, added
@tvm.testing.requires_cudnn
for tests specific to cudnn.In principle, this should pass CI, since any non-cudnn tests can fall back to the cuda implementation, but "should" is a bit of a magic word.