Skip to content

[CodeGen][CUDA] Move fast math intrinsic lowering option to PassContext#19596

Merged
tlopex merged 2 commits into
apache:mainfrom
tlopex:pass1
May 24, 2026
Merged

[CodeGen][CUDA] Move fast math intrinsic lowering option to PassContext#19596
tlopex merged 2 commits into
apache:mainfrom
tlopex:pass1

Conversation

@tlopex

@tlopex tlopex commented May 24, 2026

Copy link
Copy Markdown
Member

This updates CUDA fast math intrinsic lowering to use a PassContext option instead of a CUDA Target attribute.

The new option is:

with tvm.transform.PassContext(config={"tirx.enable_fast_math": True}):
    ...

When unset or false, CUDA math intrinsics continue to lower to the precise CUDA math functions such as expf. When true, tirx.LowerIntrin prioritizes the cuda.fastmath.* lowering rules, producing fast math intrinsics such as __expf.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the enable_fast_math setting by moving it from a CUDA target attribute to a global pass configuration option (tirx.enable_fast_math). The changes include removing the attribute from target detection, registration, and the CUDA target kind definition, while updating the LowerIntrin pass and associated tests to utilize the PassContext for this configuration. I have no feedback to provide as there were no review comments to evaluate.

@tlopex tlopex merged commit 59bfb21 into apache:main May 24, 2026
11 of 12 checks passed
spectrometerHBH pushed a commit that referenced this pull request May 24, 2026
This PR adds annotation support to `tirx.Call` so downstream codegen
users can attach call-level metadata and preserve it through TIRX
transforms.

What changed:
- Add `CallNode::annotations` and expose it through reflection.
- Add Python `tvm.tirx.Call(..., annotations=...)` support.
- Preserve call annotations in C++ and Python expression mutators.
- Preserve annotations across TIRX/arith passes that rebuild equivalent
calls.
- Print annotated calls as `Tx.Call(..., annotations={...})` and support
script roundtrip.
- Add regression coverage for annotated calls, mutator preservation,
script roundtrip, and simplify preservation.

This pr also cleans some stuff that #19596 didn't clean completely
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants