Skip to content

fix: Complete CHECK update across contrib runtime#18861

Merged
tqchen merged 1 commit into
apache:mainfrom
MasterJH5574:tvm-dev/2026-03-01-check
Mar 1, 2026
Merged

fix: Complete CHECK update across contrib runtime#18861
tqchen merged 1 commit into
apache:mainfrom
MasterJH5574:tvm-dev/2026-03-01-check

Conversation

@MasterJH5574

Copy link
Copy Markdown
Contributor

Replace all references to the old CHECK / CHECK_EQ / CHECK_GE macro names with their TVM_FFI_CHECK equivalents across CUTLASS and NVSHMEM contrib sources, completing the macro rename introduced by the TVM FFI refactor. User-facing input validation checks use ValueError, CUTLASS status and workspace checks use RuntimeError.

Replace all references to the old `CHECK` / `CHECK_EQ` / `CHECK_GE` macro
names with their `TVM_FFI_CHECK` equivalents across CUTLASS and NVSHMEM contrib
sources, completing the macro rename introduced by the TVM FFI refactor.
User-facing input validation checks use `ValueError`, CUTLASS status and
workspace checks use `RuntimeError`.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request finalizes the macro renaming effort initiated by the TVM FFI refactor. It systematically updates all instances of the older CHECK macros to the new TVM_FFI_CHECK family within the CUTLASS and NVSHMEM contribution modules. The primary impact is a more structured and informative error handling mechanism, distinguishing between input-related issues and runtime operational failures, thereby improving debugging and clarity.

Highlights

  • Macro Renaming Completion: Completed the replacement of legacy CHECK, CHECK_EQ, and CHECK_GE macros with their TVM_FFI_CHECK equivalents across CUTLASS and NVSHMEM contrib runtime sources.
  • Standardized Error Handling: Implemented consistent error reporting by using ValueError for user-facing input validation checks and RuntimeError for internal CUTLASS status and workspace checks.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • python/tvm/contrib/cutlass/attention_operation.py
    • Updated CHECK calls to TVM_FFI_CHECK with ValueError for tensor dimension validations.
    • Modified CHECK for Attention::check_supported to TVM_FFI_CHECK with RuntimeError.
  • src/runtime/contrib/cutlass/fp16_group_gemm.cuh
    • Replaced CHECK_EQ and CHECK with TVM_FFI_CHECK_EQ and TVM_FFI_CHECK respectively, all using ValueError for input data type and dimension checks.
  • src/runtime/contrib/cutlass/fp16_group_gemm_runner_sm100.cuh
    • Modified the CUTLASS_CHECK macro definition to use TVM_FFI_CHECK with RuntimeError.
    • Updated CHECK_GE to TVM_FFI_CHECK_GE with RuntimeError for workspace size validation.
  • src/runtime/contrib/cutlass/fp16_group_gemm_runner_sm90.cuh
    • Modified the CUTLASS_CHECK macro definition to use TVM_FFI_CHECK with RuntimeError.
    • Updated CHECK_GE to TVM_FFI_CHECK_GE with RuntimeError for workspace size validation.
  • src/runtime/contrib/cutlass/fp8_gemm.cu
    • Replaced CHECK_GE and CHECK_EQ with TVM_FFI_CHECK_GE and TVM_FFI_CHECK_EQ respectively, using ValueError for tensor dimension and data type checks.
  • src/runtime/contrib/cutlass/fp8_group_gemm_sm90.cu
    • Replaced CHECK_EQ with TVM_FFI_CHECK_EQ using ValueError for tensor dimension and data type checks.
  • src/runtime/contrib/cutlass/fp8_groupwise_scaled_gemm.cuh
    • Updated CHECK_GE, CHECK_EQ, and CHECK with their TVM_FFI_CHECK equivalents, all using ValueError for various tensor property validations.
  • src/runtime/contrib/cutlass/fp8_groupwise_scaled_gemm_runner_sm100.cuh
    • Modified the CUTLASS_CHECK macro definition to use TVM_FFI_CHECK with RuntimeError.
    • Updated CHECK_GE to TVM_FFI_CHECK_GE with RuntimeError for workspace size validation.
  • src/runtime/contrib/cutlass/fp8_groupwise_scaled_gemm_runner_sm90.cuh
    • Modified the CUTLASS_CHECK macro definition to use TVM_FFI_CHECK with RuntimeError.
    • Updated CHECK_GE to TVM_FFI_CHECK_GE with RuntimeError for workspace size validation.
  • src/runtime/contrib/cutlass/fp8_groupwise_scaled_group_gemm_runner_sm100.cuh
    • Modified the CUTLASS_CHECK macro definition to use TVM_FFI_CHECK with RuntimeError.
    • Updated CHECK_GE to TVM_FFI_CHECK_GE with RuntimeError for workspace size validation.
  • src/runtime/contrib/cutlass/fp8_groupwise_scaled_group_gemm_sm100.cu
    • Replaced CHECK_EQ and CHECK with TVM_FFI_CHECK_EQ and TVM_FFI_CHECK respectively, all using ValueError for tensor property validation.
  • src/runtime/contrib/cutlass/gemm_runner.cuh
    • Modified the CUTLASS_CHECK macro definition to use TVM_FFI_CHECK with RuntimeError.
    • Updated CHECK_GE to TVM_FFI_CHECK_GE with RuntimeError for workspace size validation.
  • src/runtime/contrib/nvshmem/kv_transfer.cu
    • Replaced CHECK_EQ, CHECK_GE, and CHECK with their TVM_FFI_CHECK equivalents, all using ValueError for device, dimension, and data type consistency checks.
Activity
  • No specific activity (comments, reviews, or progress updates) was provided in the pull request context.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@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 completes the replacement of old CHECK macros with the new TVM_FFI_CHECK equivalents across CUTLASS and NVSHMEM contrib sources. The changes are consistent with the logic described, using ValueError for user-facing input validation and RuntimeError for internal status and workspace checks. I've found a couple of minor issues with incorrect error messages in src/runtime/contrib/nvshmem/kv_transfer.cu which appear to be copy-paste errors. My review includes suggestions to fix them. Otherwise, the refactoring looks good.

Comment thread src/runtime/contrib/nvshmem/kv_transfer.cu
Comment thread src/runtime/contrib/nvshmem/kv_transfer.cu
@tqchen tqchen merged commit e693452 into apache:main Mar 1, 2026
10 checks passed
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