[Unittest][Metal] Add minimal metal functionality test to CI#15756
[Unittest][Metal] Add minimal metal functionality test to CI#15756Lunderberg merged 6 commits intoapache:mainfrom
Conversation
Prior to this commit, the CI compiled TVM with `USE_METAL=ON` on OSX, as defined in `conda/recipe/build.sh`, but did not validate the execution of any generated metal kernels. As a result, breakage could occur without being caught by the CI, such as found following apache#15103. This commit adds the execution of a single metal kernel as a minimal functionality test of the metal backend.
|
The initial version of this PR has a deliberate failure by asserting that After these three items are verified, the assert statement will be removed, and all CI steps including the "CI / MacOS" stage should pass. |
echuraev
left a comment
There was a problem hiding this comment.
Thank you! Awesome improvement to add minimal Metal testing to CI. Excited about it!
|
Hmm, first time that I've been disappointed to have the CI show green. The "CI / MacOS" section skipped the Metal test, rather than failing on the assert. |
|
And getting closer. The "compile-only" test has two versions, one of which defines the PackedFunc Now, the final validation of the CI: Generating code in |
|
And the results look good, with the intentionally-incorrect codegen resulting in a failure found at compile-time of the The intentionally-incorrect codegen is now removed, and the compile-only test should now pass. Assuming this latest update passes CI, this PR will be marked as ready for review. |
|
And ready for review! |
echuraev
left a comment
There was a problem hiding this comment.
LGTM! Thank you! Glad to see such tests in CI.
Prior to this commit, the CI compiled TVM with
USE_METAL=ONon OSX, as defined inconda/recipe/build.sh, but did not validate the execution of any generated metal kernels. As a result, breakage could occur without being caught by the CI, such as found following #15103.This commit adds the execution of a single metal kernel as a minimal functionality test of the metal backend.