jinhongyii opened a new pull request, #20441:
URL: https://github.com/apache/tvm/pull/20441
Fix an infinite loop in CUDA codegen for `T.cuda.wait_until` predicates
containing `T.if_then_else`. Previously, conditional temporaries were evaluated
before the polling macro, so the predicate could keep testing a stale value
after the destination was
reloaded.
Keep statements generated for the predicate inside its repeated
evaluation, preserving lazy branch semantics. Also correct the API
documentation to describe load-before-test behavior.
Add eight GPU regression cases covering signed/unsigned 32/64-bit words,
with and without backoff. Tests run in isolated subprocesses with timeouts to
contain hangs.
Targets `v0.27.0`. Validated on TVM 0.27.0rc1 with CUDA 13.2 and B200:
- Stock rc1 reproduces the regression as a timeout.
- Wait codegen tests: 25 passed.
- Broader CUDA codegen tests: 202 passed, 4 environmental skips.
- Downstream tirx-tools wait tests: 52 passed.
- Compute Sanitizer synccheck and memcheck: 0 errors.
- Scoped pre-commit checks and `git diff --check`: passed.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]