fix(rccl): Extend fp8 device arithmetic optimizations and restore unroll 8 in gfx1250 device codegen - #9537
Draft
KawtharShafie wants to merge 2 commits into
Draft
Conversation
…link and launch (RCCL_UNROLL_FACTOR=3). Extend gfx950 FP8 device optimizations to gfx1250
Clamp default kernel unroll to 8 on gfx1250 when using LL protocol, avoiding GPU memory faults with unroll 32. Only apply when unroll 8 was built; warn once if the user sets RCCL_UNROLL_FACTOR=5 (unroll 32).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restore unroll 8 in gfx1250 device codegen so FP8 kernels link and launch (RCCL_UNROLL_FACTOR=3). Extend gfx950 FP8 device optimizations to gfx1250
Motivation
FP8 ReduceScatter on gfx1250 fails on rccl/gfx1250 after #8880 narrowed device codegen to unroll 16/32 only. FP8 Ring/Simple requires the unroll-8 kernel variant and fails with invalid device function. gfx1250 was also excluded from FP8 device optimizations in rccl_float8.h.
Technical Details
Related: #8880 — 4ee4eb0
Issue Tracking
JIRA ID: ROCM-286794
Test Plan
Test Result
c318fa3(baseline)invalid device function)e0ebb75(reference)FP32 Ring/Simple behavior is unchanged from the baseline. FP8 Ring/Simple no longer fails on the default path and completes successfully. With
RCCL_UNROLL_FACTOR=3(unroll 8) and applying the fp8 device optimizations to gfx1250, FP8 bandwidth improves over both the broken baseline and the prior reference build.Submission Checklist