Skip to content

Fix validation gaps (Resolves #3542) - #3547

Open
DRJ-YDV wants to merge 1 commit into
NVIDIA:mainfrom
DRJ-YDV:fix-validation-gaps-3542
Open

Fix validation gaps (Resolves #3542)#3547
DRJ-YDV wants to merge 1 commit into
NVIDIA:mainfrom
DRJ-YDV:fix-validation-gaps-3542

Conversation

@DRJ-YDV

Copy link
Copy Markdown

Fixes#3542.

This PR addresses the four validation gaps outlined in the issue:

  1. Grouped GEMM Validation (gemm_grouped.h):
    Added a check in can_implement to return kErrorInvalidProblem if host_problem_sizes is null and kRequiresPrecomputation is true. This prevents host segfaults during precompute.

  2. Split-K Parallel Zero Division (gemm_splitk_parallel.h):
    Added a check in can_implement to properly return kErrorInvalidProblem if split_k_slices == 0, preventing a divide-by-zero fault.

  3. Batch Grid Dimension Wrapping (threadblock_swizzle.h):
    Clamped the batched grid z dimension to 65535 instead of wrapping it via modulo. This stops multiples of 65536 from producing a 0-dimension launch.

  4. Sm80 EVT assert-only validation (gemm_universal_with_visitor.h):
    Replaced the debug-only assert() statements with a proper can_implement validation pass that safely returns kErrorNotSupported for Split-K Parallel, Split-K Serial, and Array GEMM modes, preventing silent garbage execution in release builds.

Sign up for freeto 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.

Validation gaps: grouped/split-K can_implement accept crashing configs; batch grid wraps at 65536; Sm80 EVT mode gates are assert-only

1 participant

@DRJ-YDV